2017-07-08 57 views
0

我有2個數據庫具有相同的表和視圖,一個在SQL Server 2008中,另一個在SQL Server 2000中。如何在SQL Server 2000中編寫查詢?

我寫了這個查詢,它在SQL Server 2008中工作,但它在SQL Server中不起作用2000.

如何將我的代碼更改爲在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來自或知道哪個表有SI_VoucherH因爲它PK,並且具有它FK。

希望下面將讓你關閉...

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的行。問題中的每個憑單H /憑證D組合都有一行。 –