【发布时间】:2021-02-11 13:20:45
【问题描述】:
我有以下问题
Select DISTINCT a.code,a.Code_group,a.value,a.code_auth FROM AEO.CODE_CM a WHERE a.CODE_GROUP IN
(SELECT CONCAT (b.code,'_PART') FROM AEO.CODE_CM b WHERE b.CODE_GROUP ='EPE_AUTHTYPE');
因此,它根据接收到的 code_group 值选择每个代码并将字符串连接到它,并将其作为 code_group 返回。我需要避免使用子查询来降低复杂性,因为它是同一个表,我尝试使用自联接作为
Select DISTINCT a.code,a.Code_group,a.value,a.code_auth FROM AEO.CODE_CM a INNER JOIN AEO.CODE_CM b
ON a.code_group =b.code_group WHERE a.code_group = CONCAT(b.code,'_PART') AND b.code_group ='EPE_AUTHTYPE';
但在这种情况下我得到一个空白结果
【问题讨论】:
-
你真的使用 IBM db2 吗?如果不是,请删除该标签。
-
不管怎样,你的子查询不是一个依赖子查询,所以它会执行得很好。如果您将此查询改写为 JOIN,它可能会变得更难阅读,也更难推理。
标签: mysql db2 subquery resultset