gpt4 book ai didi

mysql - 多列内连接返回重复记录

转载 作者:行者123 更新时间:2023-11-29 18:31:58 25 4
gpt4 key购买 nike

我有一张 table ,上面写着ABC

id smcreatorid smownerid
1 33998 33998
2 33998 3
3 33997 33998
4 33940 33998
5 33997 3
6 1 33997
7 12 33997
8 33998 33940

和表vt_tmp_u33998

id
33997
33998
3

我想获取所有 smownerid 等于 vt_tmp_u33998 的 id 或创建者为 33998 的记录。

我的查询是

SELECT  ABC.smownerid, ABC.smcreatorid FROM ABC
INNER JOIN vt_tmp_u33998 ON vt_tmp_u33998.id = ABC.smownerid or (vt_tmp_u33998.id = ABC.smcreatorid and ABC.smcreatorid = 33998)

此查询返回重复记录。

smcreatorid   smownerid
33998 33998
33998 3
33997 33998
33940 33998
33997 3
33998 3
1 33997
12 33997
33998 33940

我想要的是不使用不同的列或按ID分组,获取smownerid等于vt_tmp_u33998的id或创建者是33998的所有记录。

最佳答案

由于您只需要表 ABC 中的记录,因此不需要表 vt_tmp_u33998。您只需在表 ABC 中搜索所需的结果即可。将您的逻辑更改为:

SELECT ABC.smownerid, ABC.smcreatorid FROM ABC WHERE (ABC.smownerid = 33998 or ABC.smcreatorid = 33998)

关于mysql - 多列内连接返回重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45605771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com