2015-02-23 2 views
0

У меня есть таблица MySQL формы:MySQL запросы с условием

id | error 1 | error 2 | error 3 | error 4 | 
    -------------------------------------------- 
    1 | 1 | 0 | 0 | 1 | 
    ------------------------------------------- 
    2 | 0 | 0 | 0 | 0 | 

Идентификатор является первичным ключом и ошибки являются логическими столбцами. Есть ли способ, в котором я могу получить идентификаторы строк, если любая из ошибок равна 1 как истина и ложь, если все ошибки равны нулю.

+0

Возможно, с ИНЕКЕ? –

+0

Могут ли столбцы ошибок иметь NULL? – jarlh

+0

См. Нормализацию - или сохраните строку, например: 1001, или сохраните десятичное представление, например. 9 – Strawberry

ответ

5
select id,case when error1+error2+error3+error4 > 0 
       then 1 
       else 0 
      end as error 
from Table t; 
+0

Отформатируйте запрос. –

1
select id, case when error1 + error2 + error3 + error4 > 0 
       then 1 
       else 0 
      end as result 
from your_table 
0
SELECT id 
FROM "your table name" 
WHERE error 1 = 1 
OR error 2 = 1 
OR error 3 = 1 
OR error 4 = 1 
OR error 5 = 1 
Смежные вопросы