Wie kann ich den Inhalt von zwei Spalten auswählen, die sich in verschiedenen Tabellen in einer Mysql-Datenbank befinden?
Antworten
Zu viele Anzeigen?
Adriaan Stander
Punkte
155899
Sie müssten entweder einen JOIN oder UNION/UNION ALL verwenden.
Dies hängt davon ab, was Sie benötigen.
Nehmen wir an, Sie wollen alle Werte aus Tabelle 1 Spalte a und Tabelle 2 Spalte b in getrennten Reihen
Sie können verwenden
SELECT ColA
FROM TABLE1
UNION ALL
SELECT ColB
FROM TABLE2
Alle eindeutigen Werte
SELECT ColA
FROM TABLE1
UNION
SELECT ColB
FROM TABLE2
Und wenn man sie in derselben Zeile anzeigen möchte, sollten sie einen Schlüssel haben, der sie verbindet
SELECT ColA, ColB
FROM TABLE1 t1 INNER JOIN
TABLE2 t2 ON t1.ID = t2.ID
Es wäre auch gut zu wissen, dass es verschiedene Arten von Sql-Verbindungen
Verschiedene SQL JOINs
- JOIN: Gibt Zeilen zurück, wenn es mindestens eine mindestens eine Übereinstimmung in beiden Tabellen
- LEFT JOIN: Liefert alle Zeilen aus der linken Tabelle zurück, auch wenn es keine Übereinstimmungen in der rechten Tabelle gibt
- RIGHT JOIN: Gibt alle Zeilen aus der rechten Tabelle zurück, auch wenn es keine Übereinstimmungen in der linken Tabelle gibt
- FULL JOIN: Gibt Zeilen zurück, wenn es eine eine Übereinstimmung in einer der Tabellen gibt
Chris Clarke
Punkte
1306
Amy B
Punkte
17616