重复的数据无效标识符

| 当我使用查询生成器时,我的查询显示此查询的所有可能结果组合。
select   
     \"PURCHASEDETAIL\".\"PMID\" as \"PMID\",
     \"PURCHASEDETAIL\".\"CUSTOMER_ID\" as \"CUSTOMERID\",
     \"PRODUCT\".\"DESCRIPTION\" as \"DESCRIPTION\",
     \"PRODUCT\".\"PRICE\" as \"PRICE\",
     \"PURCHASEDETAIL\".\"QUANTITY\" as \"QUANTITY\",
     \"SUPPLIER\".\"SUPPLIER_NAME\" as \"SUPPLIER_NAME\",
     \"PURCHASEMASTER\".\"PURCHASE_DATE_TIME\" as \"PURCHASE_DATE_TIME\" 
 from    
     \"SUPPLIER\"
 left join product
 ON supplier.supplierid = product.supplierid
 left join purchasemaster
 on purchasemaster.customerid = purchasedetail.customerid
 left join purchasedetail
 on purchasedetail.pmid = purchasemaster.pmid
当我输入以上信息以从4表中提取信息时,出现以下错误。 ORA-00904:\“采购细节\”。\“客户ID \”:无效的标识符 有什么想法吗?     
已邀请:
1)即使在显示结果时使用\“ CUSTOMERID \”为\“ CUSTOMER_ID \”加上别名,您仍应在联接条件中使用\“ CUSTOMER_ID \”(实际列名)。 如果您有一个外部查询可以进行进一步的联接..过滤器..等等,则可以使用别名“ CUSTOMERID”
select e.empno , d.deptno Department_No
  from scott_emp e,
       scott_dept d
  where d.Department_No = e.deptno;

ORA-00904: \"D\".\"DEPARTMENT_NO\": invalid identifier
采用..
select e.empno , d.deptno Department_No
  from scott_emp e,
       scott_dept d
  where d.deptno = e.deptno;
要么
select * from 
(select deptno Department_no,dname
  from scott_dept) d,
  scott_emp e
where d.Department_no = e.deptno
2)可能与您的问题无关。 第二个左联接
<SUPPLIER>...
<PRODUCT>....
LEFT JOIN
           purchasemaster
        ON purchasemaster.customerid = **purchasedetail.customerid**
这种情况不应该在Supplier.customerid上吗? (如果列名相同?) __ *根据列名假设进行更新* --------
select sup.supplier_name,
       prd.description,
       prd.price,
       prm.purchase_date_time,
       prd.pmid,
       prd.customer_id,
       prd.quantity
  from supplier sup
       left join product prd
            on (sup.supplierid = prd.productid)
       left join purchasedetail prd
            on (prd.productid = product.productid)
       left join purchasemaster prm
            on (prd.purchaseid = prm.purchaseid)
    

要回复问题请先登录注册