【发布时间】:2023-03-26 11:47:02
【问题描述】:
我正在尝试从数据库中返回一些值
我有什么
用户
user_id (pk)
OWN_EVENTS
user_id (fk)
event_id(pk)
与会者
user_id (fk)
event_id(fk)
我需要返回什么
我需要返回 ATTENDEES 中的所有行,即 event_id 等于某个值,状态不等于 3 并且,OWN_EVENTS 表中该事件的 event_name 值和 USERS 表中的电子邮件值
我已经尝试过什么 我一直在尝试各种组合,但无法弄清楚我做错了什么 http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins
即使这样也返回 null:
SELECT A1.event_name,A1.start_date
FROM ATTENDEES A1
INNER JOIN OWN_EVENTS A2 ON A2.event_id = A1.event_id
WHERE A1.event_id = $event_id
或
SELECT A1.event_name,A1.start_date ,A3.email
FROM ATTENDEES A1
INNER JOIN OWN_EVENTS A2 ON A2.event_id = A1.event_id
INNER JOIN USERS A3 ON A3.user_id = A1.user_id
WHERE A1.event_id = $event_id AND A1.status != 3
我需要进行什么查询调用?
编辑:::::: 样本数据:
参加者
OwnEvents
用户
【问题讨论】:
-
你有更多的样本数据吗?
ATTENDEES表只有一行,但其他表没有。因此,INNER JOINs 将始终不返回任何行。 -
@MichaelBerkowski 添加了一些示例数据屏幕截图