给出两次外连接的解决方案

时间:2010-08-09 09:09:20

标签: sql

SELECT MaterialProcessSlip.*,
       Vendor.CompanyName   ,
       O.Name
FROM   MaterialProcessSlip ProcessSlip
       LEFT OUTER JOIN Vendors Vendor
       ON     (
                     ProcessSlip.SubContractorId=Vendor.Id
              )
              MaterialProcessSlip
       LEFT OUTER JOIN Operations O
       ON     (
                     ProcessSlip.Operationsid=O.id
              )

1 个答案:

答案 0 :(得分:2)

你在问你的代码有什么问题吗?

鉴于完全缺乏信息,我只能评论句法问题,也可能存在语义问题。

您有MaterialProcessSlip.*,但您将表MaterialProcessSlip别名为ProcessSlip,因此没有包含该公开名称的表格。

因此您需要使用ProcessSlip.*,但无论如何您都不会使用*。您还可以在括号后随意添加一个表名。

SELECT ProcessSlip.col1, ProcessSlip.col2,...
       Vendor.CompanyName   ,
       O.Name
FROM   MaterialProcessSlip ProcessSlip
       LEFT OUTER JOIN Vendors Vendor
       ON     (
                     ProcessSlip.SubContractorId=Vendor.Id
              )
             /* Removed -> MaterialProcessSlip*/
       LEFT OUTER JOIN Operations O
       ON     (
                     ProcessSlip.Operationsid=O.id
              )