这是我的疑问:
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 u.wedding_id=10
如何返回空值而不是NULL?
在当前查询中,如果inviter_id = 0,则将inviter_f和inviter_l返回为NULL
谢谢超级英雄!
答案 0 :(得分:5)
使用COALESCE()
功能。
SELECT
u.fname fname,
u.lname lname,
coalesce(r.fname,'') inviter_f,
coalesce(r.lname, '') inviter_l
FROM guests u
LEFT JOIN guests r ON u.inviter_id = r.guest_id
where u.wedding_id=10
答案 1 :(得分:1)
使用IFNULL
功能,have a look at the documentation.
SELECT u.fname fname, u.lname lname,
IFNULL(r.fname, '') AS inviter_f,
IFNULL(r.lname, '') AS inviter_l
FROM guests u
LEFT JOIN guests r ON u.inviter_id = r.guest_id
where u.wedding_id=10