2011-01-15 14 views
13

Estoy teniendo problemas en dos subconsultas conjuntas en MySQL, p. Ej.Unir dos subconsulta en 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; 

ERROR 1064 (42000): Tiene un error en la sintaxis SQL; revise el manual que corresponde a su versión del servidor MySQL para la sintaxis correcta para usar cerca de 'join (select * from table1 where id = 2)' en la línea 1

¿Es incorrecta la sintaxis?

+0

¿qué quieres que haga? – Nishant

+0

Lo siento por mi ejemplo simplificado, he actualizado el SQL. – Howard

+0

@Howard, si alguna vez vuelves a SO, ¿te importaría revisar las respuestas y posiblemente cambiar la respuesta aceptada si lo crees oportuno? Gracias. –

Respuesta

3

la salida algunos ejemplos

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

Muchas gracias por esta respuesta. He estado buscando en Google durante unos días sin resultado hasta que llegué a esta pregunta. – alexy13

+7

Esto realmente no responde la pregunta tal como está escrita. Esta pregunta coincide con la búsqueda de Google para unir dos subconsultas. En consecuencia, la respuesta de @ a_horse_with_no_name realmente se ajusta mejor. –