2013-04-21 74 views
1

我有一個數據庫包含它的mysql:countaing列NUM具有一定價值

id   name  1 2  3  4 
-----  ------  --- --  --- --- 
1   Mark  half full full half 

前員工姓名和月天我想指望它包含值的一半 和數量列數其中包含的全部價值列

一樣,如果我要算空值我寫

select is null(`1`)+ is null (`2`) as count from employee where id = 280 

所以我應該怎麼做或查詢可以解決這個PROBL EM我

+0

是列名實際上是整數1,2,3和4? – 2013-04-21 14:58:07

+0

是的月份天 – 2013-04-21 14:58:56

+0

這似乎是一個壞的模式。我會推薦(ID,名稱,日期,full_or_half)。 – 2013-04-21 15:00:37

回答

1
SELECT (`1` = 'half') + (`2` = 'half') + (`3` = 'half') + (`4` = 'half') AS `HALF`, 
     (`1` = 'full') + (`2` = 'full') + (`3` = 'full') + (`4` = 'full') AS `FULL` 
FROM TableName 
-- WHERE condition here 
+0

非常感謝你:) – 2013-04-21 15:04:42

+0

不客氣':D'我不知道爲什麼這是downvoted。 hehe – 2013-04-21 15:06:09

+1

+1。 。 。它看起來是對的,所以它不應該被低估。 – 2013-04-21 15:10:37