2010-11-23 8 views
2

私はテーブル変数 '@t'を宣言し、 'INSERT-INTO-SELECT'を正しく実行しました。 グループごとの行番号付けでいくつかの追加計算を実行してテーブル変数を照会しようとしたとき、「@t」を直接使用しているときに「変数を宣言しなければならない」か、 t 'である。ご教授ください。T-SQLでは、サブクエリのテーブル変数への参照方法は?

SELECT 
    *, 
    (SELECT COUNT(*) FROM "LTV" "COUNTER" 
    WHERE 
     "COUNTER"."Collateral_ID" = "LTV"."Collateral_ID" 
     AND 
     "COUNTER"."m_il_no" = "LTV"."m_il_no" 
     AND 
     "COUNTER"."Ref_Key" <= "LTV"."Ref_Key" 
    GROUP BY "COUNTER"."Collateral_ID", "COUNTER"."m_il_no" 
    ) "MIL_IDX" 

FROM @t AS LTV 

答えて

5

用途:

SELECT x.*, 
     y.num 
    FROM @t x 
    JOIN (SELECT t.collateral_id, 
       t.m_il_no, 
       COUNT(*) AS num 
      FROM @t t 
     GROUP BY t.collateral_id, t.m_il_no) y ON y.collateral_id = x.collateral_id 
              AND y.m_il_no = x.m_il_no 
+1

で、我々はサブクエリ内のテーブル変数のエイリアスを宣言する必要がポイント –

関連する問題