如果圖庫的mysql表的樣子:Mysql的選擇非空列
id | pic1 | pic2 | pic3 | pic4
-------------------------------------------------------------
1 | | b.jpg | c.jpg | d.jpg
如何選擇的第一個非空的PIC值從列PIC1,PIC2,pic3的,PIC4 ID爲畫廊= 1?
在示例它上面將從PIC2柱(B.JPG)
如果圖庫的mysql表的樣子:Mysql的選擇非空列
id | pic1 | pic2 | pic3 | pic4
-------------------------------------------------------------
1 | | b.jpg | c.jpg | d.jpg
如何選擇的第一個非空的PIC值從列PIC1,PIC2,pic3的,PIC4 ID爲畫廊= 1?
在示例它上面將從PIC2柱(B.JPG)
SELECT COALESCE(pic1, pic2, pic3, pic4, 'backup.gif') AS pic
FROM gallery
WHERE id = 1
backup.gif
如果所有都是空的,將返回值。這也假設通過爲空的列爲NULL。
SELECT COALESCE(pic1, pic2, pic3, pic4) AS pic
FROM gallery
WHERE id = 1;
假設你使用NULL
表示空值,而不是空白
很想知道你爲什麼在數據庫這樣的不靈活的方式組織你的數據嗎?
如果所有圖片欄都是空的,該怎麼辦? – Programmer 2011-01-06 17:29:40
我認爲您必須在應用程序級別執行此操作 – shankhan 2011-01-06 17:30:46
@Programmer - 至少必須填寫其中一列 – Sergio 2011-01-06 17:31:47