我正在尝试使用以下查询计算名为DRAWING的表中的总行数: 选择字段,平台,计数(doc_id)作为总计,从绘图分组,字段,平台;
但我还需要显示每个平台的附件/非附件总数
SQL:
从图形中选择字段,平台,计数(doc_id),其中file_bin不是按字段,平台分别为空;
从图形中选择字段,平台,计数(doc_id)为non_attached,其中file_bin为null by field,platform;
有没有办法将3个值组合成视图? 例如 Field,Platform,Total,Attached,Non_attached
答案 0 :(得分:1)
试试这个:
select
field,
platform,
count(doc_id) as total,
sum(iif(file_bin is null, 1, 0)) as attached,
sum(iif(file_bin is not null, 1, 0)) as non_attached
from drawing
where doc_id is not null
group by field, platform
答案 1 :(得分:0)
感谢Douglas Tosi的建议,我设法使用案例方法。
选择字段, 平台, count(doc_id)为总数, SUM(CASE 当file_bin为null时为1 当file_bin不为null时为0 END)如附, SUM(CASE 当file_bin为null时为0 当file_bin不为null时为1 END)作为绘图中的non_attached,其中doc_id不为null 按字段分组,平台
完美!!
再次感谢道格拉斯
答案 2 :(得分:0)
我会使用decode而不是case,不知道什么表现更好(未经测试):
select field
, platform
, count(doc_id) as total
, sum(decode(file_bin,null,1,0)) attached
, sum(decode(file_bin,null,0,1)) non_attached
from drawing
where doc_id is not null
group by field,platform