0
我有这个select语句。我知道我可以用一个联盟来解决这个问题,但我被告知效率不高,我的老板们要求我在单个查询中完成,而不是使用联盟,因为它使用同一张表。这是有道理的。具有相同名称和数据类型但合并函数结果的SQL合并2 Colums
select
'No Photos' as 'Type',
SUM(case when Cntimagedata < 12 or cntimagedata is null then 1 else 0 end) as Value,
'Incomplete Photos' as 'Type',
SUM(case when Cntimagedata < 12 then 1 else 0 end) as Value
from tablemain
查询生成下表。
'类型'| '价值'| '类型'| 'Value'
没有照片| 15 |不完整的照片| 3
但我的答案必须
'类型' ----------------- | ---- '值'
没有照片------------ | 15
不完整的照片 - | 3
只有2列而不是4 ...这可能吗?我一直在试图让这个解决方案起作用。并且连接不符合这个(我认为),因为它需要的所有数据都在这张表中。
我不能像前面提到的那样使用Union,因为我的老板们说我正在使查询变慢。
感谢您的答复@vittore,但我不能,因为它减慢我的查询,我的上司要我解决了使用联盟条件它以任何其他方式因此。 –
减速最有可能意味着您没有使用正确的索引。 – vittore
数据正在被唯一键索引。有什么其他方式可以索引它吗?所以你说联盟不一定是表现放缓?我知道它不会像光标那样慢。 –