SELECT * FROM unbekannte Tabellen Menge

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SELECT * FROM unbekannte Tabellen Menge

    Ich hab ein kleines Denkproblem
    Ist folgendes möglich in SQL.
    Code:
    SELECT felder FROM table_1, ... table_n
    Ohne zu wissen wieviele Tabellen es genau sind?

    Die Tabellen sind zu 100% gleich aufgebaut. einzig eine 4 stellige nummer unterscheidet die Tabellen an sich.

    Leider kann ich keine programmierung drauf anwenden. sonst würde ich Vorher ein Show Tables über die Datenbank laufen lassen und mir alle tabellen die das suchkriterum erfüllen einfach in das Select einbauen.

    Gib es eine Möglichkeit oder nicht?

    Google und Suche brachten keine für mich verwertbaren Ergebnisse.
    Bitte Beachten.
    Foren-Regeln
    Danke

  • #2
    Afaik hast du da keine Chance. Die verwendeten Tabellen müssen zum Parsezeitpunkt der Query bereits feststehen.

    Kommentar


    • #3
      Danke.

      Hatte zwar gehofft das es doch irgendeine Möglichkeit gibt diesen Umstand zu umgehen, muss wohl doch das Query von Zeit zu Zeit angepasst werden.
      Bitte Beachten.
      Foren-Regeln
      Danke

      Kommentar


      • #4
        Re: SELECT * FROM unbekannte Tabellen Menge

        Original geschrieben von Wyveres
        Google und Suche brachten keine für mich verwertbaren Ergebnisse.
        Und warum das wohl? ... Im Zweifel, weil's sich, mit an Sicherheit grenzender Wahrscheinlichkeit, um keinen sinnvollen Datenbank entwurf handelt.
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          Re: Re: SELECT * FROM unbekannte Tabellen Menge

          Original geschrieben von goth
          Und warum das wohl? ... Im Zweifel, weil's sich, mit an Sicherheit grenzender Wahrscheinlichkeit, um keinen sinnvollen Datenbank entwurf handelt.
          Ich will dir ja nicht zu nahe treten goth aber woraus schliesst du das?

          Und vorallem habe ich über die Datenbank Tabellen nur gesagt das sie absolut gleich sind. weder Wieviel Inhalt sich darin befindet noch warum es mehrere sind. Das sind alles Informationen die zur eigentlichen Fragestellung und Antwortgebungen nicht benötigt werden.

          Einzig alleine der Umstand mehrere gleich geartete Tabellen von unbekannter Menge zur Laufzeit in ein SQL statment einzubauen, ohne show tables und Programmierweg, zum Einbauen der abzufragenden Tabellen, gehen zu müssen war gefragt.
          Nicht mehr und nicht weniger.

          Wenn du dich trotzdem mit Mir über das "für und wieder" und "das warum und weshalb" auseinander setzen möchtest, so können wir das gerne machen.

          Ich glaube aber kaum das irgendeins deiner Argumente dazu Führen wird das die bestehnde Datenbank Struktur einer änderung erfahren wird.
          Bitte Beachten.
          Foren-Regeln
          Danke

          Kommentar


          • #6
            Prinzipiell hat er Recht. Der Datenbankentwurf ist für die Tonne.
            Da wir aber ja nur mit MySQL arbeiten, und es dann tatsächlich sinnvolle Anwendungszwecke dafür gibt, kann man sich dann meist mit einer Merge-Tabelle helfen.

            Prinzipiell lautet die Antwort für jede Website mit 5 Tabellen jedoch nach wie vor: Falsches DB-Design.

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              Original geschrieben von ghostgambler
              Prinzipiell hat er Recht. Der Datenbankentwurf ist für die Tonne.
              Da wir aber ja nur mit MySQL arbeiten, und es dann tatsächlich sinnvolle Anwendungszwecke dafür gibt, kann man sich dann meist mit einer Merge-Tabelle helfen.

              Prinzipiell lautet die Antwort für jede Website mit 5 Tabellen jedoch nach wie vor: Falsches DB-Design.
              Prinzpiell würde ich ihm recht geben und auch Dir,
              Aber das kann ich bezogen auf mein Anliegen nicht geben.

              Warum, ich habe mit keinem Wort, mit keiner Erklärung gesagt um was für Tabellen es sich genau handelt. Zudem habe mit keinem Wort erwähnt um welche DB es geht.

              Ich Sagte auch nicht für welchen zweck die Tabellen sind und was für Inhalt in den Tabellen steht.

              Ich Sagte nur der Aufbaue der Tabellen ist gleich.
              Die Felder heißen gleich.
              Die Tabellen Benennung ist gleich bis auf eine Nummer.

              Die Anzahl der Tabellen ist Unbekannt und das ich nach einer Möglichkeit gefragt habe wie man nun eine Anzahl x dieser Tabellen nach Daten Abfragt ohne x Genau definieren zu müssen und ohne vorheriges "Show tabels" und Programmteil zum auswerten der Tabellen.
              Eine Antwort darauf habe ich erhalten.

              So nun Frage ich euch beide goth und ghostgambler. Wo genau liegt dann da ein Designfehler vor? Wo genau ist dann der DB entwurf für die Tonne?

              Was währe denn für eich ein Sinnvoller DB entwurf. wenn ihr folgendes gegeben habt.

              1.) eine nicht Definierte Menge User anzunehmender Wert >100.000
              2.) Eine Wöchentlicher Erfassung von 120 zuständen
              3.) für jeden User gibt es in der Erfassung Pro Woche x datensätze maximal wert Unbegrenzt.
              4.) Auswertung der 120 zustände für jeden User einmal im Monat. gegenvergleich mit einem Sollzustand der ebenfalls 120 Werte besitzt, Auflistung in Tage (Montag-Freitag) zu a 12 Feldern a 2 Werte
              5.) Statistik auslesen.
              6.) Tagesansicht,Wochenansicht,Monatsansicht, Jahresansicht
              7.) berücksichtigung das User Mehrfach Soll anlegen kann, änderungen innerhalb der Woche. Mehrere Soll und Ist Für eine Woche.

              und jetzt kommts
              8.) Neben den Usern zuordnung zu verschiedenen Stellen dabei kann ein User zu x Stellen zugeordnet werden. Mehrere Erfassung pro user Pro Stelle Pro Woche.

              Frage wann Sprengt die Erfassung die Grenze eines BIGINT?

              Ich will niemanden damit angreifen. Versteht mich bitte nicht Falsch. aber Behauptungen von einem Falschen DB Design dafür möchte ich schon Plausible Argumente hören.
              Bitte Beachten.
              Foren-Regeln
              Danke

              Kommentar


              • #8
                Ich Sagte nur der Aufbaue der Tabellen ist gleich.
                Die Felder heißen gleich.
                Die Tabellen Benennung ist gleich bis auf eine Nummer.
                Warum stopfst du nicht alles in eine Tabelle?
                evtl mit einem zusätzlichen Nummernfeld?
                Oder baust eine klassische n:m Relation?

                Auf jeden Fall erscheint mir das auch arg denormalisiert!!
                Die 5 Normal Formen

                Alleine schon der Vorsatz Tabellen auszulesen, derren Bezeichnung man nicht kennt, ist schockierend.


                Frage wann Sprengt die Erfassung die Grenze eines BIGINT?
                In MySQL sind dann 18446744073709551615 Datensätze möglich.
                Zuletzt geändert von combie; 14.01.2009, 15:39.
                Wir werden alle sterben

                Kommentar


                • #9
                  Re: Re: Re: SELECT * FROM unbekannte Tabellen Menge

                  Original geschrieben von Wyveres
                  Ich glaube aber kaum das irgendeins deiner Argumente dazu Führen wird das die bestehnde Datenbank Struktur einer änderung erfahren wird.
                  Ich glaube nicht, dass ich es nötig habe auf solch eine Trollantwort zu erwiedern.

                  Lass es Dir gesagt sein, Dein Entwurf ist für die Tonne. Gleiches gehört zu gleichem. Wenn dein Entwurf vernünftig normalisiert wäre, hättest Du diese Problem jetzt nicht.

                  Aber von meinetwegen bleib wie du bist.
                  carpe noctem

                  [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                  [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                  Kommentar


                  • #10
                    Defakto kann ich da meinen Vorrednern nur zustimmen.
                    Wenn in vielen tabellen jeweils die selben Spalten namen vorhanden sind lohnt es sich nicht das ganze in viele tabellen zu setzen sondern wirklich nur in eine und dann das ganze mit den normalisierungsformeln zu zerlegen. Selbst viele Große Seiten haben das da anders gemacht ^^

                    Gruß
                    Richard | Muffi

                    Kommentar


                    • #11
                      Re: Re: Re: Re: SELECT * FROM unbekannte Tabellen Menge

                      Ok und Danke für die aufschlussreichen Antworten.

                      Danke an PHP-Desaster das er meine Ursprüngliche Frage beantwortet hat.
                      Bitte Beachten.
                      Foren-Regeln
                      Danke

                      Kommentar

                      Lädt...
                      X