gpt4 book ai didi

MySQL JOIN 使用 IF 条件对非唯一值进行连接

转载 作者:行者123 更新时间:2023-11-29 11:57:44 27 4
gpt4 key购买 nike

我有一个与会者表,如下所示:

event_id    user_id
1 16
1 12
1 13
2 14
2 16
2 12
3 11
3 16

以及有关表中事件的信息,如下所示:

event_id    eventcenter_id      date_begin                date_end
1 2 2016-10-31 18:00:00 2016-10-31 21:00:00
2 1 2016-11-20 18:00:00 2016-11-20 18:40:00
3 2 2016-11-20 15:00:00 2016-11-20 18:00:00

最后是一个如下所示的表格:

eventcenter_id              name
1 Fire Hall
2 Sunny Lake

我需要一个查询来返回用户正在参加的所有事件。结果应返回事件中心名称、date_begin 和 date_end,我可以在日历中使用这些对象。当我尝试加入参加者表中的 event_id 时,它给出的错误不是 event_id 上的唯一值。我追求的结果应该是这样的:

user_id eventCenter_name    date_begin                    date_end
16 sunny lake 2016-10-31 18:00:00 2016-10-31 21:00:00
16 fire hall 2016-11-20 18:00:00 2016-11-20 18:40:00
16 sunny lake 2016-11-20 15:00:00 2016-11-20 18:00:00

最佳答案

尝试一下(也许您必须将表 eventcenter 的名称更改为您使用的名称):

SELECT aa.user_id, cc.eventCenter_name, bb.date_begin, bb.date_end
FROM attendees AS aa
INNER JOIN events AS bb
ON aa.event_id = bb.event_id
INNER JOIN eventcenter AS cc
ON bb.eventcenter_id = cc.eventcenter_id
ORDER BY aa.user_id ASC;

如果您需要特定用户,请使用以下查询:

SELECT aa.user_id, cc.eventCenter_name, bb.date_begin, bb.date_end
FROM attendees AS aa
INNER JOIN events AS bb
ON aa.event_id = bb.event_id
INNER JOIN eventcenter AS cc
ON bb.eventcenter_id = cc.eventcenter_id
WHERE aa.user_id = 16;

关于MySQL JOIN 使用 IF 条件对非唯一值进行连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32938223/

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