Недопустимый идентификатор в Sql LEFT join oracle

Привет у меня возникли проблемы со следующим запросом

SELECT *
FROM PARTNER P
     , ADDRESS A
     ,DOSSIERPARTNERRELATIONSHIP DPR
   LEFT JOIN PARTNERHIST PH ON P.ID=PH.PARTNER_ID
WHERE (P.NAME ='Burger' OR PH.NAME='Burger')
 AND P.ID = DPR.PARTNER_ID
 AND A.PARTNER_ID = P.ID
 ;

когда я пытаюсь выполнить его, я получаю следующую ошибку:

ORA-00904:"P"."ID": недопустимый идентификатор

также, когда я пытаюсь следующее, Я получил ту же ошибку

SELECT *
FROM PARTNER P
     , ADDRESS A
     ,DOSSIERPARTNERRELATIONSHIP DPR
   LEFT JOIN PARTNERHIST PH ON PARTNER.ID= PH.PARTNER_ID
WHERE (P.NAME ='Burger' OR PH.NAME='Burger')
 AND P.ID = DPR.PARTNER_ID
 AND A.PARTNER_ID = P.ID
 ;

1 ответов


попробуйте это:

SELECT *
FROM PARTNER P
INNER JOIN ADDRESS A ON A.PARTNER_ID = P.ID
INNER JOIN DOSSIERPARTNERRELATIONSHIP DPR ON P.ID = DPR.PARTNER_ID
LEFT JOIN PARTNERHIST PH ON P.ID= PH.PARTNER_ID
WHERE (P.NAME ='Burger' OR PH.NAME='Burger')