今天无聊去看博客问答,看见了行转列的问题,就动手解决下,牢固牢固
自己建的示例表如下
sql如下
这里用到ifnull函数把为空的值编程0,写的不好勿喷哈哈哈哈
SELECT DISTINCT c.name,
IFNULL((SELECT COALESCE(1,null) FROM b WHERE tab = 1 and name = c.name ) ,0)AS '早餐' ,
IFNULL((SELECT COALESCE(1,null) FROM b WHERE tab = 2 and name = c.name ),0) AS '中餐' ,
IFNULL((SELECT COALESCE(1,null) FROM b WHERE tab = 3 and name = c.name ) ,0) AS '晚餐'
FROM b c
结果如下