2011-01-15 14 views
13

Ho riscontrato problemi nell'unione di due subquery in MySQL, ad es.Unire due sottoquery 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; 

ERRORE 1064 (42000): si è verificato un errore nella sintassi SQL; controlla il manuale corrispondente alla versione del tuo server MySQL per la sintassi corretta da usare vicino a 'join (seleziona * da tabella1 dove id = 2)' alla riga 1

La mia sintassi è errata?

+0

cosa vuoi fare? – Nishant

+0

Scusate per il mio esempio semplificato, ho aggiornato l'SQL. – Howard

+0

@Howard, se mai tornassi su SO, ti dispiacerebbe rivedere le risposte e potenzialmente cambiare la risposta accettata se lo ritieni opportuno? Grazie. –

risposta

3

controllare alcuni esempi

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

Grazie mille per questa risposta. Ho cercato su google per alcuni giorni inutilmente fino a quando non ho risposto a questa domanda. – alexy13

+7

Questo in realtà non risponde alla domanda come scritto. Questa domanda corrisponde alla ricerca di google per unire due subquery. Di conseguenza, la risposta di @ a_horse_with_no_name in realtà si adatta meglio. –