Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Beim Union - Operator Tabellenname mit in Ergebnistabelle

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von ITrun90, 11 August 2014.

  1. ITrun90

    ITrun90 Benutzer

    Hi,

    ich habe folgende Situation:

    2 Tabellen beinhalten die gleiche Datenstruktur, um Daten von Personen in verschiedenen Städten zu Speichern, da die Tabellen sonst zu groß werden würden. Wir nennen die Tabellen StadtA und StadtB.

    Für eine Aufgabe jedoch brauche ich alle Datensätze von den beiden Tabellen. Dies löse ich mithilfe von:

    SELECT * FROM StadtA UNION SELECT * FROM StadtB

    Das Problem, welches sich nun ergibt, ist, dass ich aus der Ergebnistabelle nicht herausfinden kann, welche Zeilen nun von welcher Stadt kommen. Gibt es eine Möglichkeit, der Ergebnistabelle eine Spalte mit dem Tabellennamen anzuhängen?
     
  2. akretschmer

    akretschmer Datenbank-Guru


    Über wie viele Rows reden wir eigentlich?

    Egal. Select 'stadt_a' as stadt, * from stadt_a union all select 'stadt_b', * from stadt_b;

    Unabhängig davon denke ich, daß Du da massiv vieles falsch machst.
     
  3. ukulele

    ukulele Datenbank-Guru

    Den Tabellennamen mit auszugeben ist einfach, eine "zu große" Tabelle klingt aber nach massiven Fehldesign. Warum sollten 2 Tabellen im UNION schneller sein als eine einzelne? Jeglicher Index wird nutzlos. Den Tabellennamen kannst du zwar ausgeben aber ein weiterer Select kann darauf nicht aufbauen.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden