Объедините левое соединение запятыми - PullRequest
0 голосов
/ 09 мая 2018

Итак, я получил этот код SQL:

SELECT * 
FROM A a1, AP ap1, P p1, M m1 
LEFT JOIN F f1 ON f1.id_f = p1.f1
LEFT JOIN C c1 ON p1.c_id = c1.c_id
LEFT JOIN S s1 on p1.saison_id = s1.s_id
WHERE a1.a_type NOT IN (1) 
AND a1.type_c IN (1,2) 
AND ap1.a_id = a1.achats_id
AND p1.p_id = ap1.products_id
AND p1.m_id = m1.m_id
ORDER BY a_id ASC

И я получаю эту ошибку:

#1054 - Unknown column 'p1.f1' in 'on clause' 

Так что я понятия не имею, почему он не распознает p1.f1 в строке 3. Есть идеи?

1 Ответ

0 голосов
/ 09 мая 2018

Вы бы просто использовали правильный синтаксис JOIN или INNER JOIN:

SELECT * 
FROM A a1 JOIN
     AP ap1
     ON ap1.a_id = a1.achats_id JOIN
     P p1
     ON p1.p_id = ap1.products_id JOIN
     M m1 
     ON p1.m_id = m1.m_id LEFT JOIN
     F f1
     ON f1.id_f = p1.f1 LEFT JOIN
     C c1
     ON p1.c_id = c1.c_id LEFT JOIN
     S s1 
     ON p1.saison_id = s1.s_id
WHERE a1.a_type NOT IN (1) AND a1.type_c IN (1, 2) 
ORDER BY a1.a_id ASC;

Вуаля!Проблема решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...