Tabellen mergen

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

  • Tabellen mergen

    Hallo zusammen!

    Ist es nur möglich mit MySQL Server Tabellen zu mergen indem man eine Temporäre Tabelle erzeugt wird?

    MfG
    Heinzelmännchen

  • #2
    du kannst auch JOIN dafür einsetzen, oder UNION, falls unterstützt wird

    Kommentar


    • #3
      Ein JOIN funktioniert nicht so ganz. Zumindest bekomme ich da nicht die Abfrage so hin, dass ich jeweils erwartet Ergebnisse eine Extra Zeile bekomme.

      Habe in einer Event Tabelle ein Eventdatum und in einer User Tabelle das Geburtsdatum.

      Sieht also wie folgt aus.

      Code:
      Event-Table
      event_name | event_date
      -----------+------------------
      Herrentag  | 2005-05-05
      Pfingsten  | 2005-05-15
      
      
      User-Table
      user_name | user_birthday
      ----------+-----------------
      heinz     | 1980-05-14
      mann      | 1980-06-04
      Die Ausgabe soll dann folgt sein:
      Code:
      event     | date
      ----------+-------------
      Herrentag | 2005-05-05
      heinz     | 1980-05-14
      Pfingsten | 2005-05-15
      Doch nach meinem Statement bekomme ich nur nur 2 Zeilen:
      Code:
      event_name | event_date | user_name | user_birthday
      -----------+------------+-----------+------------------
      Herrentag  | 2005-05-05 | heinz     | 1980-05-14
      Pfingsten  | 2005-05-15 | heinz     | 1980-05-14
      Das Statement ist wie folgt:
      Code:
      SELECT *
        FROM events
        JOIN users ON user_birthday >= '1980-05-01'
                  AND user_birthday <= '1980-05-31'
      WHERE event_date >= '2005-05-01'
        AND event_date <= '2005-05-31'
      ORDER BY event_date
      Mit UNION kenne ich mich leider, noch, nicht aus. Habe mir das ganze schon mal in der Dokumentation von MySQL angeschaut, jedoch ist mir die Syntax noch nicht klar. Vielleicht kann mir jemand mal ne kurze Erklärung geben.

      Das ist nämlich alles was ich dazu habe:
      Code:
      SELECT ....
      UNION [ALL]
      SELECT ....
        [UNION 
         SELECT ...]
      Ich danke Euch schon mal jetzt für die Mühe
      Zuletzt geändert von ; 02.05.2005, 15:13.

      Kommentar


      • #4
        UNION funktioniert einfach so, daß es die ergebnisse zweier/mehrerer queries verbindet - einfach dazwischen (zwischen die beiden SELECT-anweisungen) schreiben, klammern (wenn nötig) und dann eventuell noch ORDER BY anwenden.

        UNION scheint auch das zu sein, was du machen möchtest.
        die anzahl der spalten beider tabellen muß dabei gleich sein, notfalls mußt du mit NULL auffüllen.
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Hallo,

          jipp UNION ist das was ich gesucht habe und habe mein Statement schon angepasst. Funktioniert alles bestens.

          Besten Danke an Euch.

          Kommentar

          Lädt...
          X