2

我想合并我表中的一组重复项,但不是全部。

例子:

acct    date     bal
--------------------
123   1/1/2013   40.00
123   1/1/2013   2.00
456   1/2/2013   50.00
456   1/1/2013   5.00
789   1/1/2013   10.00
789   1/1/2013   17.00

我想将 acct 123 合并到只有一行,将这些行的余额相加,但留下其余的。

所需的输出:

acct    date     bal
--------------------
123   1/1/2013   42.00
456   1/2/2013   50.00
456   1/1/2013   5.00
789   1/1/2013   10.00
789   1/1/2013   17.00

在 SQL Server 2005 中工作。

4

3 回答 3

3

在 GROUP BY 子句中使用 CASE

SELECT acct, date, SUM(bal) AS bal
FROM dbo.tets73
GROUP BY acct, date, CASE WHEN acct != 123 THEN bal END

SQLFiddle上的演示

于 2013-01-15T21:46:35.497 回答
3
SELECT acct, date, SUM(bal)
FROM T
WHERE acct = 123

UNION

SELECT acct, date, bal
FROM T
WHERE acct <> 123
于 2013-01-15T20:50:10.120 回答
2
 select acct, date, sum(bal) from table where acct = 123
 union
 select acct, date bal from table where acct <> 123
于 2013-01-15T20:44:18.430 回答