SQL - 由两个位组合

时间:2014-12-14 23:35:24

标签: sql sql-server-2012

我有一个带有一位列的SQL表。如果在表的行中只出现一个位值(在我的情况下为1),我该如何创建一个SELECT语句,例如,表示表中两个位值的出现,即使另一个没有出现?这是我试图实现的结果:

+----------+--------+
| IsItTrue | AMOUNT |
+----------+--------+
|     1    |   12   |
|     0    |  NULL  |
+----------+--------+

我已经尝试过谷歌答案,但没有成功,因为英语不是我的母语,我不熟悉SQL术语。

1 个答案:

答案 0 :(得分:3)

select IsItTrue, count(id) as Amount from 
(select IsItTrue, id from table
union
select 1 as IsItTrue, null as id
union
select 0 as IsItTrue, null as id) t
group by bool