有一个表A记录如下
id zje shuliang user ..
001 400 4 1111
001 -100 -1 2222
002 100 1 3333
sql语句怎么写才可以让相同id只显示出相减后的记录,zje相减为'0'就不用显示,格式如下:
id zje shuliang user
001 300 3 1111
002 100 1 3333
------解决方案--------------------
满不满足你要求
WITH T AS
(SELECT 001 ID, 400 ZJE, 4 SHULIANG, 2222 VUSER
FROM DUAL
UNION
SELECT 001 ID, -100 ZJE, -1 SHULIANG, 1111 VUSER
FROM DUAL
UNION
SELECT 002 ID, 100 ZJE, 1 SHULIANG, 3333 VUSER FROM DUAL)
SELECT ID,
SUM(ZJE),
SUM(SHULIANG),
MAX(NVL(DECODE(SIGN(ZJE), 1, VUSER, NULL), 0))
FROM T
GROUP BY ID
HAVING SUM (ZJE) > 0