2011-01-15 6 views
13

Ich habe ein Problem in gemeinsamen zwei Unterabfragen in MySQL, z.Verbinden Sie zwei Unterabfragen in MySQL

(select * from table1 where id = 1 group by f1) a1 
join 
(select * from table2 where id = 2 group by f2) a2 ON a1.f3 = a2.f3; 

Fehler 1064 (42000): Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe 'Join (wählen Sie * aus Tabelle1, wo id = 2)' Zeile 1

ist meine Syntax falsch?

+0

was wollen Sie tun? – Nishant

+0

Entschuldigung für mein vereinfachtes Beispiel, ich habe das SQL aktualisiert. – Howard

+0

@Howard, wenn Sie jemals wieder zu SO kommen, würde es Ihnen etwas ausmachen, die Antworten zu überarbeiten und möglicherweise die akzeptierte Antwort zu ändern, wenn Sie es für richtig halten? Vielen Dank. –

Antwort

3

Schauen Sie sich einige Beispiele

SELECT * FROM table1, table2; 

SELECT * FROM table1 INNER JOIN table2 ON table1.id=table2.id; 

SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id; 

SELECT * FROM table1 LEFT JOIN table2 USING (id); 
+0

Vielen Dank für diese Antwort. Ich habe ein paar Tage lang vergebens gegoogelt, bis ich diese Frage gestellt habe. – alexy13

+7

Dies beantwortet die Frage nicht wirklich wie geschrieben. Diese Frage stimmt mit der Google-Suche für die Verknüpfung von zwei Unterabfragen überein. Folglich passt die Antwort von @ a_horse_with_no_name tatsächlich besser. –

Verwandte Themen