-1

tbl_RUR_Enclosures2番目のテーブルの外部キーを使用して、3番目のテーブルから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 に答える