注册 登录
编程论坛 SQL Server论坛

UNION 写明细账问题 怎么让0不显示

z865593849 发布于 2021-06-24 08:34, 3008 次点击
SELECT   IJ_NO AS 单号, IJ_DD AS 日期,
(case when QTY>0 then QTY else '' end)  AS 本期收入,
(case when QTY<0 then QTY else 0 end)   AS 本期发出
FROM      TF_IJ
WHERE   (QTY > 0)
UNION ALL
SELECT   IJ_NO AS 单号, IJ_DD AS 日期,
(case when QTY>0 then -QTY else 0 end)  AS 本期收入,
(case when QTY<0 then -QTY else 0 end)    AS 本期发出
FROM      TF_IJ
WHERE   (QTY <= 0)



[此贴子已经被作者于2021-6-24 09:53编辑过]

4 回复
#2
厨师王德榜2021-06-25 09:29
数据库只能完成数据库应该完成的事,你要的显示效果,应该跟他无关。跟你的编程语言,和该语言提供的数据控件有关。
#3
mywisdom882021-06-25 09:48
把数值,改为字符,也就可以
#4
mywisdom882021-06-25 10:24
SELECT   IJ_NO AS 单号, IJ_DD AS 日期,
(case when QTY>0 then cast(QTY as char(20)) else space(20) end)  AS 本期收入,
(case when QTY<0 then cast(QTY as char(20) else space(20) end)   AS 本期发出
FROM      TF_IJ
WHERE   (QTY > 0)
UNION ALL
SELECT   IJ_NO AS 单号, IJ_DD AS 日期,
(case when QTY>0 then cast(-QTY as char(20)) else space(20) end)  AS 本期收入,
(case when QTY<0 then cast(-QTY as char(20)) else space(20) end)    AS 本期发出
FROM      TF_IJ
WHERE   (QTY <= 0)
#5
victor_yang2021-09-06 16:16
UNION 写明细账问题 怎么让0不显示
SELECT   IJ_NO AS 单号, IJ_DD AS 日期,
(case when QTY>0 then QTY else null end)  AS 本期收入,
(case when QTY<0 then QTY else null end)   AS 本期发出
FROM      TF_IJ
WHERE   (QTY > 0)
UNION ALL
SELECT   IJ_NO AS 单号, IJ_DD AS 日期,
(case when QTY>0 then -QTY else null end)  AS 本期收入,
(case when QTY<0 then -QTY else null end)    AS 本期发出
FROM      TF_IJ
WHERE   (QTY <= 0)
1