2017-07-08 14 views
0

同じテーブルとビューを持つデータベースが2つあります.1つはSQL Server 2008で、もう1つはSQL Server 2000です。SQL Server 2000でのクエリの作成方法は?

このクエリはSQL Server 2008で作成されましたが、SQL Serverでは動作しませんでした

SQL Server 2000でコードを変更するにはどうすればよいですか?

SELECT 
    SUM(NA_DA) OVER (PARTITION BY vd.SI_VoucherH) AS a, 
    SUM(NA_CA) OVER (PARTITION BY vd.SI_VoucherH) AS b 
FROM 
    acc.ACC_VOUCHERH vh 
INNER JOIN 
    acc.Acc_VoucherD vd ON vh.SI_VoucherH = vd.SI_VoucherH 

答えて

0

これは、W/OどのテーブルNA_DA & NA_CAを知っていると言うのは難しいから来るか、PKとそれにFKを持っているようSI_VoucherHを持つテーブルを知っています。

うまくいけば、次はあなたが近づくでしょう...

SELECT 
    vda.NA_DA, 
    vda.NA_CA 
FROM 
    acc.ACC_VOUCHERH vh 
    JOIN (
      select 
       vd.SI_VoucherH, 
       NA_DA = Sum(vd.NA_DA), 
       NA_CA = SUM(NA_CA) 
      FROM 
       acc.Acc_VoucherD vd 
      GROUP BY 
       vd.SI_VoucherH 
      ) vda 
     on vh.SI_VoucherH=vda.SI_VoucherH; 
+0

は、これは本当に*合理的なクエリ*です。おそらく質問の質問よりも*良い*でしょう。ただし、同じ結果が返されることはありません。これにより、伝票Hごとに1行が返されます。質問の伝票には、伝票H /伝票Dの組合せごとに1つの行があります。 –

関連する問題