我有两个MySQL表:
user(id, name)
cards(id, number, user_id)
我需要形成一个查询,允许在页面上显示哪些用户所拥有或哪些用户所拥有的卡(user_name - card_number)
备注:
我试过了:
SELECT c.id, c.number, u.name FROM card AS c, user AS u WHERE c.user_id=u.id
这允许我选择与用户链接的卡
但是我仍然有问题如何添加user_id = 0的卡片(请记住我需要为这种情况设置用户名的'NONE'值。)
更新:用户表中没有用户ID = 0
答案 0 :(得分:1)
使用LEFT JOIN
。当第一个表没有任何匹配的行时,这将为连接表中的列返回NULL
。
SELECT c.id, c.number, IFNULL(u.name, "not linked") AS name
FROM card AS c
LEFT JOIN user as U ON c.user_id = u.id