-1

我正在尝试tbl_RUR_Enclosures使用 2nd table foreign key从 3rd table 获取 count(*) tbl_RUR_RepurchaseDemands

对不起,这是错误的,我给出了错误的 SQL 查询。更新的在这里*

更新

select [loan number] as LoanNum, [Finding ID] as FindingID, 
       [Finding Topic], [Finding Narrative], [Reps Breached],  T.*,
     (select COUNT(*) from dbo.tbl_RUR_Enclosures where 
        tbl_RUR_Enclosures.[Finding ID]=tbl_RUR_RepurchaseDemands.
        [Finding ID]) 
     from dbo.tbl_RUR_RepurchaseDemands as RR join  
     [tbl_DefectFindingEnclosuresMateriality] as T on 
     T.[AP_ID] = RR.[AP_ID] where [loan number] in 
     (select [Loan Number] from tbl_RUR_Comprehensive 
       where Shelf = 'CWABS' and Series='2004-K' and Batch=1 
       and [Loan Number]='41090261' ) order by [Loan Number]

它正在抛出错误Msg 4104, Level 16, State 1, Line 2 The multi-part identifier "tbl_RUR_RepurchaseDemands.Finding ID" could not be bound.

帮帮我

4

1 回答 1

2

格式化查询确实有助于理解这些问题:

select [loan num] ,[Finding ID] as FindingID,
       (select COUNT(*)
        from dbo.tbl_RUR_RepurchaseDemands
        where [Finding ID]=tbl_RUR_Comprehensive.[Finding ID]
       )
from dbo.tbl_RUR_Enclosures
where [loan num] in (select [Loan Number]
                     from tbl_RUR_Comprehensive 
                     where Shelf = 'CWABS' and Series='2004-K' and Batch=1)
order by [loan num]

您在语句中有一个相关查询select。但是,相关性与where子句中的子查询有关。这是不允许的。即使是这样,子查询也不会返回您要求的列。

我认为这是一个简单的错误,因为这select表明该列在from子句中的表中。如果是这样,您可以将其修复为:

select [loan num] ,[Finding ID] as FindingID,
       (select COUNT(*)
        from dbo.tbl_RUR_RepurchaseDemands
        where tbl_RUR_RepurchaseDemands.[Finding ID] = tbl_RUR_Enclosures.[Finding ID]
       )
from dbo.tbl_RUR_Enclosures
where [loan num] in (select [Loan Number]
                     from tbl_RUR_Comprehensive 
                     where Shelf = 'CWABS' and Series='2004-K' and Batch=1)
order by [loan num];
于 2013-06-20T23:38:10.997 回答