【发布时间】:2021-06-01 11:17:09
【问题描述】:
我有以下疑问:
SELECT CUI,
GROUP_CONCAT(CODE separator ';'),
GROUP_CONCAT(SAB separator ';')
FROM umls.MRCONSO
WHERE CUI in (SELECT CUI FROM umls.MRCONSO WHERE code in ("10012271", "114480"))
GROUP BY CUI;
作为 where 子句的一部分,我想“获取”在 WHERE 子句中的子查询中匹配的代码,并将其作为外部 SELECT 语句的一部分。
目前我的结果是这样的:
| CUI | GROUP_CONCAT(CODE separator ';') | GROUP_CONCAT(CODE separator ';') |
|---|---|---|
| C0002395 | R0121040;0000049799;10012271;D000544;NOCODE;D000544 | MDRJPN;MDRRUS;OMIM;NCI;ICD10CM;MDRHUN |
| C0002396 | R0121041;0000049780;114480;D000544;NOCODE;D000544 | MDRJPN;MDRRUS;OMIM;NCI;ICD10CM;MDRHUN |
但我想:
| <MATCH_CODE | CUI | GROUP_CONCAT(CODE separator ';') | GROUP_CONCAT(CODE separator ';') |
|---|---|---|---|
| 10012271 | C0002395 | R0121040;0000049799;10012271;D000544;NOCODE;D000544 | MDRJPN;MDRRUS;OMIM;NCI;ICD10CM;MDRHUN |
| 114480 | C0002396 | R0121041;0000049780;114480;D000544;NOCODE;D000544 | MDRJPN;MDRRUS;OMIM;NCI;ICD10CM;MDRHUN |
有人可以帮忙吗?我不确定如何在子查询中取回此代码匹配,同时还能够从外部查询中访问代码。
【问题讨论】:
-
嗯,为什么我的表格没有渲染?
-
@eshirvana 谢谢!
-
不要习惯在字符串文字中使用双引号。是的,遗憾的是 MySQL 接受了这一点,但在 SQL 中,双引号通常用于标识符,例如列名。如果您曾经使用过另一个 DBMS(或者未来的 MySQL 版本对此更加清醒),您可能会收到“无效的对象名称”错误。始终对字符串文字使用单引号。