2016-07-14 74 views
0

我收到错误“不明确的列名‘ClaimID的’为以下几点:不明确的列名错误SQL

USE ERSBI_Claims_Warehouse 
GO 

SELECT 
    ClaimID    AS vClaimID, 
    DevelopmentTimeID AS vDevelopmentTimeID, 
    UnderwritingYear AS vUnderwritingYear, 
    IncurredClaimCount AS vIncurredClaimCount, 
    PaidClaimCount  AS vPaidClaimCount, 
    EstimateClaimCount AS vEstimateClaimCount 

FROM 
    FactClaimSnapshotbreakdownClaimCount as fcbscc 

INNER JOIN ERSBI_Warehouse.dbo.FactClaimAccidentYear AS fcay 
    ON fcbscc.ClaimID = fcay.ClaimID 

WHERE 
    fcbscc.BreakdownIntermediateLevel = 'TPP' 
AND UnderwritingYear > 2013 

我很新但到SQL我想我已经包括了所有相关的表名。有人能告诉我我要去哪里吗?谢谢你在前进

+1

你应该总是包括别名的习惯得到列的前面在您的查询名称。它不仅可以消除这个问题,还可以让您更轻松地维护查询,因为您可以轻松查看某个列属于哪个表。 –

回答

1

你在你的SELECT声明中只选择ClaimId,但你有多个表与ClaimId在它。

你需要告诉它你从哪个表中拉出来。

根据您的加入:

fcbscc.ClaimID = fcay.ClaimID 

否则要么

SELECT fcbscc.ClaimID 

SELECT fcay.ClaimID 

就足够了

6

由于ClaimID存在,你需要命名这两个表中,从要选择:

SELECT fcbscc.ClaimID ...