【发布时间】:2013-12-03 15:12:21
【问题描述】:
我有一个名为“guests”的表格,其中包含以下列:
- guest_id
- wedding_id
- fname
- 名字
- inviter_id
我需要从某个wedding_id 中选择所有客人,然后加入实际邀请者fname 和lname 而不是inviter_id(与客人ID 对应)。
我已经走到这一步了:
SELECT u.fname fname, u.lname lname, r.fname inviter_f, r.lname inviter_l
FROM guests u LEFT JOIN guests r ON u.inviter_id = r.guest_id
我缺少的唯一一块拼图是添加:
where wedding_id=10
(仅选择特定婚礼 ID 的结果)。
编辑后: 最终查询: SELECT u.fname fname, u.lname lname, r.fname 邀请者_f, r.lname 邀请者_l FROM guest u LEFT JOIN guest r ON u.inviter_id = r.guest_id where u.wedding_id=10
现在是一个后续问题:
如何在没有invitationer_id(设置为0)的情况下返回空的''值,在当前查询中它返回为NULL? (inviter_f 和inviter_l 返回NULL)
【问题讨论】:
-
添加 where u.wedding_id=10 时发生了什么?
-
您可能需要说出 u.wedding_id=10 或 r.wedding_id=10 的位置
-
我爱你 Gayathri!我尝试将其添加到查询中,而不是仅将其附加到末尾。有用!!! ahhhhhh :) 这是最后的查询: SELECT u.fname fname, u.lname lname, r.fname inviter_f, r.lname inviter_l FROM guest u LEFT JOIN guest r ON u.inviter_id = r.guest_id where u.wedding_id=10