sql - Sql 左连接 oracle 上的标识符无效

标签 sql oracle select join left-join

您好,我在执行以下查询时遇到了一些问题

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": invalid identifier

此外,当我尝试以下操作时,我遇到了相同的错误

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
 ;

最佳答案

试试这个:

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')

关于sql - Sql 左连接 oracle 上的标识符无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27527242/

相关文章:

php - 在 SQL QUERY 不一致的 WHERE 子句中将 NOT IN 与 AND 连接

mysql - 如何使用多个 IN - Where IN (...) and IN (...)

c++ - select() 没有获取标准输入

SQL - 如何跨行转换和合并数据

MySQL:分组

sql - 创建外键并使用不同表空间的引用?

MySQL 将多个右连接行合并为一列

sql server 2005错误输出

php - 我无法理解 GROUP_CONCAT

c# - 如何将日期值转换为oracle日期值?