下面的查询可以从数据库中获取一些信息。
select a.PIPE_SYS, c.WELD_TYPE, c.RT, sum(a.W_C) welded,
count(d.RT_CMP_DATE) Tested, count(a.RT_STATUS) Accepted
from Weld_master a, Weld_names b, NDT_PER_CATEGORY_ c, Nd_Test d
where a.WELD_NAME = b.WELD_NAME and b.TYPE = c.WELD_TYPE and a.NDT_CATEGORY =
c.CATEGORY and a.project_no = d.proj_no and a.dwg_no = d.dwg_no and
a.Spool_No = d.Spool_No and a.weld_no = d.weld_no group by a.PIPE_SYS, c.rt,
c.WELD_TYPE;除可接受的字段外,上面给出了我所期望的正确结果。因为,我的数据库中的数据是以默认情况下将RT_STATUS字段设置为某个值(非空)的方式保存的,并且当焊缝的RT status被接受或拒绝时,RT_STATUS字段将被更新为数据库中的相关值。
因此,在上面的查询中,如何计算接受和拒绝的RT_STATUS字段。
发布于 2017-07-18 13:12:22
你可以试试
sum(case when a.RT_STATUS = 'Accepted' then 1 else 0 end) AS AcceptedCount,
sum(case when a.RT_STATUS = 'Rejected' then 1 else 0 end) AS RejectedCounthttps://stackoverflow.com/questions/45167063
复制相似问题