【发布时间】:2012-09-21 03:29:26
【问题描述】:
我有一张桌子
CREATE TABLE IF NOT EXISTS `dept` (
`did` int(11) NOT NULL,
`dname` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `dept` (`did`, `dname`) VALUES
(1, 'Hi'),
(2, NULL),
(3, 'Hello');
那我有一个问题
select group_concat(concat(did,"','",dname) separator '),(') as Result from dept
生成结果为1','Hi'),('3','Hello
问题:我怎样才能得到上述查询的结果为1','Hi'),('2','NULL'),('3','Hello
它缺少具有 NULL 值的行,但我需要获取所有行
Link for SQL Fiddle Demo of question
更新:如果我有多个或所有列允许 NULL,有没有办法一次性应用 COALESCE 或必须在每个列上单独应用?
【问题讨论】:
-
我在 concat stackoverflow.com/questions/13451605/… 中有另一个 groupconcat 示例
标签: mysql group-concat