Jeena Paradies: Zwei tabellen (unrelatiert) zusammenführen

Hallo,

Wie bekomme ich das hier in (My)SQL hin?

+-----------+    +-----------+
|    t1     |    |    t2     |
+-----------+    +-----------+
| id | name |    | id | name |
+----+------+    +----+------+
| 1  | a    |    | 5  | e    |
| 2  | b    |    | 12 | f    |
| 3  | c    |    | 3  | g    |
+----+------+    +----+------+
        \          /
        +-----------+
        |  result   |
        +-----------+
        | id | name |
        +----+------+
        | 1  | a    |
        | 2  | b    |
        | 3  | c    |
        | 5  | e    |
        | 12 | f    |
        | 3  | g    |
        +----+------+

Jeena

  1. denk mal, mit union:
    http://dev.mysql.com/doc/refman/5.1/de/union.html

    mike

    1. yo,

      denk mal, mit union:

      richtiger wäre UNION ALL

      Ilja

      1. Hello,

        richtiger wäre UNION ALL

        den Vorschlag lese ich bei dir öfter - hat das in _DIESEM_ Fall einen Grund? Es ist offensichtlich nicht erkennbar aus welcher Tabelle der Satz stammt, von daher macht es IMHO wenig Sinn, den selben Satz zweimal zu führen. Wobei das Argument berechtigt wäre, dass das Ganze dann weniger als die Summe seiner Teile wäre, was insbesondere beim Zählen zu Irritationen führen kann.

        MfG
        Rouven

        --
        -------------------
        sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
        Ist Dir langweilig? Willst du Spaß? Willst Du Party? Ganz einfach!!! Schicke eine SMS mit dem Bestellwort "Feuer" an die 112 und innerhalb von 5 Minuten stehen 20 Männer mit lustigen Partyhüten, Sirenen und Partywagen vor deinem Haus!  --  Herkunft unbekannt
        1. yo Rouven,

          richtiger wäre UNION ALL
          den Vorschlag lese ich bei dir öfter - hat das in _DIESEM_ Fall einen Grund?

          ja, es ist das, was er machen will, er will zwei tabellen "zusammen" kleben, ohne datensätze dabei zu verlieren.

          Es ist offensichtlich nicht erkennbar aus welcher Tabelle der Satz stammt, von daher macht es IMHO wenig Sinn, den selben Satz zweimal zu führen.

          ganz viel sinn sogar, den du dir ja selbst beantwortest hast. nur wenn es explizit gewünscht ist, doppelte datensätze zu vermeiden, dann ist UNION der richtige mengenoperator. selbst wenn durch UNION keine datensätze wegfallen würden, weil es keine doppelten gibt, würde ich immer noch UNION ALL benutzen. warum dem DBMS zusätzliche arbeit verschaffen, wenn es überflüssig ist.

          Ilja

          1. Hello,

            selbst wenn durch UNION keine datensätze wegfallen würden, weil es keine doppelten gibt, würde ich immer noch UNION ALL benutzen. warum dem DBMS zusätzliche arbeit verschaffen, wenn es überflüssig ist.

            weil mein Bauchgefühl mir immer was anderes sagt, wenn ich zwei (Datensatz-)Mengen zusammenschmeiße: da hat nichts doppelt drin zu sein, das macht eben eine Menge aus...:-)

            MfG
            Rouven

            --
            -------------------
            sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
            Death is nature's way of telling you to slow down.
            1. yo,

              weil mein Bauchgefühl mir immer was anderes sagt, wenn ich zwei (Datensatz-)Mengen zusammenschmeiße: da hat nichts doppelt drin zu sein, das macht eben eine Menge aus...:-)

              Gefühle können täuschen, wie zum beispiel das eine menge auch eine anzahl hat und wer will schon die doppelten raussortieren, wenn das gar nicht notwendig oder gewollt ist... ;-)

              Ilja