gpt4 book ai didi

mysql - SQL 返回 double 数据(可能是错误的 SQL 查询)

转载 作者:行者123 更新时间:2023-12-01 00:38:45 24 4
gpt4 key购买 nike

问题&&上下文

我得到了双重结果。表注册包含 2 列和 2 行,event_idparticipant_id 具有 1,31,1

现在,当我选择所有注册时(select * from registration),这确实有效。

2 名参与者的名字 (firstname, lastname)('test' ,'test1')('Gregor', 'unknown' )

期望的结果

我想创建一个搜索功能,该功能将只返回注册他们的名字或姓氏中包含“测试”的事件的参与者。

当前结果

通过下面的查询,我得到 4 个结果(都是同一参与者)。

select * from participant p, event e, registration r 
where p.firstname LIKE '%test%'
OR p.lastname LIKE '%test%'
AND p.id = r.participant_id
AND e.id = r.event_id
AND e.id = 1;

错误信息

无,仅返回 4 行而不是 1 行。

最佳答案

解包OR,不同的将有助于...尝试

select distinct * 
from participant p, event e, registration r
where (p.firstname LIKE '%test%'
OR p.lastname LIKE '%test%' )
AND p.id = r.participant_id
AND e.id = r.event_id
AND e.id = 1;

关于mysql - SQL 返回 double 数据(可能是错误的 SQL 查询),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39788103/

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