2011-01-15 18 views
13

Mam problem z połączenia dwóch podkwerend w MySQL, np.Połączyć dwie podkwerendy w 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): masz błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL dla właściwej składni do użycia w pobliżu 'join (wybierz * z table1 where id = 2)' w linii 1

Czy moja składnia jest niepoprawna?

+0

co chcesz zrobić? – Nishant

+0

Przepraszamy za mój uproszczony przykład, zaktualizowałem SQL. – Howard

+0

@Howard, jeśli kiedykolwiek wrócisz do SO, czy mógłbybyś zmienić odpowiedzi i potencjalnie zmienić zaakceptowaną odpowiedź, jeśli uważasz, że pasuje? Dzięki. –

Odpowiedz

3

Sprawdź niektóre przykłady

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

Dziękuję bardzo za tę odpowiedź. Prowadziłem go przez kilka dni bezskutecznie, dopóki nie trafiłem na to pytanie. – alexy13

+7

To tak naprawdę nie odpowiada na pytanie w formie pisemnej. To pytanie pasuje do wyszukiwania google, aby połączyć dwa podzapytania. W konsekwencji odpowiedź @ a_horse_with_no_name faktycznie pasuje lepiej. –

Powiązane problemy