日期:2014-05-18  浏览次数:20563 次

有一个连接语句如何再扩充与其它表进行关联?
下面是PO_Pomain表与PO_Podetails表 2个且进行关联后语句。(此语句是正确的)
select PO_Pomain.cPOID,PO_Pomain.dPODate,PO_Pomain.cVenCode,PO_Podetails.cInvCode,PO_Podetails.iQuantity ,isnull(fPoArrQuantity,0) from PO_Pomain left join PO_Podetails on PO_Pomain.POID=PO_Podetails.POID where PO_Pomain.cPOID='0022'

现在想扩展VenCode表中有 cVenCode(供应商代码),cVenname(供应商名称) 2个字段,
  wood表中有 cInvCode(物料编号),cInvname(物料名称) 2个字段。

其中
1、PO_Pomain.cVenCode是代表供应商编码的字段,能与VenCode表中的cVenCode字段进行一对一的关联。
2、PO_Podetails.cInvCode是代表字段物料编号的字段,能与wood表中的cInvCode字段进行一对一的关联。

如何让语句显示多增加上面的2个名称字段??
select PO_Pomain.cPOID,PO_Pomain.dPODate,PO_Pomain.cVenCode,供应商名称,PO_Podetails.cInvCode,物料名称,PO_Podetails.iQuantity ,isnull(fPoArrQuantity,0) from PO_Pomain left join PO_Podetails on PO_Pomain.POID=PO_Podetails.POID where PO_Pomain.cPOID='0022'




------解决方案--------------------
SQL code

select 
    PO_Pomain.cPOID,
    PO_Pomain.dPODate,
    PO_Pomain.cVenCode,
    '' as 供应商名称,        --如果关联查询表里有该字段,可以使用 PO_Podetails.col_name
    PO_Podetails.cInvCode,
    '' as 物料名称,            --如果关联查询表里有该
    PO_Podetails.iQuantity ,
    isnull(fPoArrQuantity,0) 
from PO_Pomain 
left join PO_Podetails on PO_Pomain.POID=PO_Podetails.POID 
where PO_Pomain.cPOID='0022'