我有2个具有相同表和视图的数据库,一个在SQL Server 2008中,另一个在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 :(得分:0)
很难说不知道哪个表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;