2012-02-06 124 views
0

我看到有类似的问题,但没有一个似乎有帮助。有人可以请解释什么是错的这个查询:SQL Server:无法绑定多部分标识符Select statement

SELECT 
    CH.ClaimNumber, CH.ClaimDate, CH.Warehouse, CH.SupplierNumber, 
    CH.SupplierName, CH.ControlAccount, CST.Status, 
CD.Line, CD.HasGRN, CD.GRNNumber, CD.ItemCode, CD.ItemDescription, 
    CD.Price, CD.Quantity, CD.CreditValue, 
CD.TaxCode, CD.TaxValue, CRS.Description, CD.IssueJournal, CD.CreditNote, 
    CD.SupplierNote, CD.Cancelled 
FROM 
    CRClaimHeader AS CH, CRClaimDetail AS CD 
INNER JOIN 
    CRStatusTypes AS CST ON CST.StatusID = CH.StatusFK 
INNER JOIN 
    CRClaimReasons AS CRS ON CRS.ReasonCode = CD.ReasonCodeFK 
WHERE 
    CH.ClaimNumber = @ClaimNumber 

我就在这行错误:

ON CST.StatusID = CH.StatusFK 

CH.StatusFK

当我换写的是什么在此声明:

FROM CRClaimHeader AS CH, CRClaimDetail AS CD 

写下来这样:

FROM CRClaimDetail AS CD, CRClaimHeader AS CH 

的错误转移到该段:

ON CRS.ReasonCode = CD.ReasonCodeFK 

CD.ReasonCodeFK

+1

难道您不错过从ClaimDetail CD到ClaimHeader CH的连接吗?而不是交叉连接? – StuartLC 2012-02-06 09:44:39

+0

@nonnb是的,这两张表格没有关联。谢谢。 – Cloud9999Strife 2012-02-06 10:27:29

+0

@nonnb你可以列出上面的答案,我会接受它作为答案。 – Cloud9999Strife 2012-02-07 06:55:36

回答

0

您是不是错过了从ClaimDetail CD到ClaimHeader CH的连接?而不是交叉连接?

0

你必须改变这一行:

FROM CRClaimHeader AS CH, CRClaimDetail AS CD 

到:

FROM CRClaimHeader AS CH 

并做内部连接到CRClaimDetail AS CD表。

和一切都将是o.k.

相关问题