【发布时间】:2015-02-26 19:49:53
【问题描述】:
我有一张这样的桌子:
ID | GenEx | CodeName | Desc
----------------------------
1 | Cipro | Dolvo |
2 | Ludavil | Ymir |
3 | Cipro | Alpha |
我的查询是这样的:
SELECT GenEx, GROUP_CONCAT(CodeName) AS Code
FROM Drugs D
WHERE `CodeName` IN ('Alpha')
GROUP BY GenEx;
我想要的结果是:
| Genex | Code |
+-------+-------------+
| Cipro | Dolvo,Alpha |
我得到的结果是:
| Genex | Code |
+-------+-------------+
| Cipro | Alpha,Alpha |
WHERE IN() 子句导致GROUP_CONCAT 替换任何返回的内容以匹配该限制集。只要包含Alpha,我怎样才能让它匹配该集合之外的代码?
【问题讨论】:
-
b/c 这是一个例子,在更复杂的查询中我需要 where
-
我明白了。我删除了我的评论,我第一次阅读时误解了。
标签: mysql sql group-concat