Ich habe Schwierigkeiten, diese MySQL-Abfrage zu arbeiten. Ich habe zwei Tabellen:Anwenden von WHERE-Klausel, wenn Sie eine UNION tun
Tabelle 1
TYPE | NAME | LAT | LON | ICON
Tabelle 2
ID | UID | NAME | LAT | LON | ICON
Ich versuche, alle Ergebnisse aus Tabelle 1 zu wählen, und wählen Sie nur einige Ergebnisse aus Tabelle 2. Ich versuche, Wenden Sie eine WHERE
Klausel auf Tabelle 2 an, aber es scheint nicht zu funktionieren.
Ich lese die Dokumentation und sagte für eine UNION
zu arbeiten, die Anzahl der Spalten müssen gleich sein. Wie kann ich dann nur die gleiche Anzahl an Spalten aus beiden Tabellen auswählen, die zurückgegeben werden, aber die zweite Tabelle nach einer Spalte filtern, die nur in dieser Tabelle gefunden wird?
Meine (pseudo) Frage:
(SELECT name,lat,lon,icon
FROM Table1)
UNION
(SELECT name,lat,lon,icon
FROM Table2
WHERE uid ="1")
was ist das Ergebnis, dass Ihre –
Ihre Abfrage sollte funktionieren, wie beide select hat die gleiche Nr. von Spalten ... was ist das Problem? –
@ KP. Ich möchte alle Ergebnisse aus Tabelle 1 und nur Ergebnisse aus Tabelle 2, wo uid ist 1. –