如何在SQLServer2000中编写查询?
我有两个具有相同表和视图的数据库,一个在SQLServer2008中,另一个在SQLServer2000中 我编写了这个查询,它在SQLServer2008中工作,但在SQLServer2000中不工作 如何更改代码以在SQL Server 2000中工作如何在SQLServer2000中编写查询?,sql,sql-server-2008,sql-server-2000,Sql,Sql Server 2008,Sql Server 2000,我有两个具有相同表和视图的数据库,一个在SQLServer2008中,另一个在SQLServer2000中 我编写了这个查询,它在SQLServer2008中工作,但在SQLServer2000中不工作 如何更改代码以在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 FR
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
很难说不知道哪张表是NA_DA&NA_CA,或者知道哪张表有SI_voucher作为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;
这是一个非常合理的问题。它可能比问题中的查询更好。但是,它不会返回相同的结果。这将为每个凭证H返回一行。问题中的一行为每个凭证H/凭证D组合返回一行。