2

テーブル変数 '@t' を宣言し、'INSERT-INTO-SELECT' を正しく実行しました。グループごとの行番号付けのために追加の計算を使用してテーブル変数をクエリしようとしたときに、「@t」を直接使用すると「変数を宣言する必要があります」、または「@t」のエイリアスを使用すると「無効なオブジェクト名」というエラーが発生しました'。ご教授ください。

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
4

1 に答える 1

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
于 2010-11-23T03:18:37.860 に答える