2014-12-14 5 views
3

У меня есть таблица SQL с одним столбцом бит. Если в строках таблицы встречается только одно значение бита (в моем случае 1), как я могу сделать оператор SELECT, который показывает, например, наличие обоих битовых значений в таблице, даже если другое не происходит? Это результат я пытаюсь достичь:SQL - группа по битам

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

Я уже пытался Google ответа, но без успеха, так как английский не является моим родным языком, и я не знаком с SQL жаргоном.

+3

Какой продукт RDBMS вы используете? – Thilo

+0

Это Microsoft SQL Server v.11 – liverbox

ответ

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 
+0

Это работает только с некоторыми SQL-языками. –

+0

true, но op не указан, поэтому мне нужно было угадать ответ – overflowed

+0

@GordonLinoff Я неправильно его прочитал. Я отказываюсь, это стандартный sql. +1 –