字段拼接
名称 | 类别1 | 类别2 | 类别3 |
---|---|---|---|
小米 | 语文 | 数学 | |
小红 | 数学 | ||
小蓝 | 语文 | 英语 | |
小黄 | 英语 | ||
小月 |
想要实现这样的拼接效果
小米 :语文、数学
小红:数学
小蓝:语文、英语
小黄:英语
小月:
拼接有记录的字段 ,sql 怎么写啊,oracle11g
字段拼接
名称 | 类别1 | 类别2 | 类别3 |
---|---|---|---|
小米 | 语文 | 数学 | |
小红 | 数学 | ||
小蓝 | 语文 | 英语 | |
小黄 | 英语 | ||
小月 |
想要实现这样的拼接效果
小米 :语文、数学
小红:数学
小蓝:语文、英语
小黄:英语
小月:
拼接有记录的字段 ,sql 怎么写啊,oracle11g
SELECT 名称, CONCAT_WS('、',
IF(类别1 IS NOT NULL, '语文', NULL),
IF(类别2 IS NOT NULL, '数学', NULL),
IF(类别3 IS NOT NULL, '英语', NULL)) AS categories
FROM students
SELECT 名称:选择姓名字段;
CONCAT_WS('、', ...):使用“、”作为分隔符,拼接以下的字段内容;
IF(categoryX IS NOT NULL, '分类名称', NULL):如果该记录的categoryX字段不为空,则返回分类名称,否则返回NULL;
categories:指定拼接后的字段别名。