我有两张桌子:
用户:
id first_name last_name
--------------------------------
1 John Smith
2 Adam Jones
user_planner_tasks:
id moderator user_id
-----------------------------
1 1 2
2 2 1
我想显示来自“user_planner_tasks”的每个任务。表。同时显示主持人的名字和姓氏以及具有相应身份证的用户。
我希望有这样的事情:
id moderator first_name last_name user_id first_name last_name
-------------------------------------------------------------------------------------
1 1 John Smith 2 Adam Jones
我知道我必须使用某种 JOIN ,但我不能,因为我的生活,想出来。任何参考都会很棒!
答案 0 :(得分:1)
SELECT t.id,
t.moderator,
m.first_name,
m.last_name,
t.user_id,
u.first_name,
u.last_name
FROM user_planner_tasks t
LEFT JOIN users u
ON t.user_id = u.id
LEFT JOIN users m
ON t.moderator = m.id
答案 1 :(得分:1)
SELECT upt.id,
upt.moderator,
u1.first_name,
u1.last_name,
u2.id as user_id,
u1.first_name,
u1.last_name
FROM user_planner_tasks upt
LEFT JOIN users u1 ON upt.moderator = u1.id
LEFT JOIN users u2 ON upt.user_id = u2.id
在这里,您在同一张桌子上加入两次。
答案 2 :(得分:1)
这里有用户和主持人
SELECT t.*, u.*,m.*
FROM user_planner_tasks t
LEFT JOIN users u ON t.user_id = u.id
LEFT JOIN users m ON t.mderator = m.id
答案 3 :(得分:0)
这是一个常见的SQL JOIN教程:http://www.w3schools.com/sql/sql_join.asp
您要寻找的是外部联接。
SQL LEFT JOIN语法
setPaxGenerator()
你的看起来像这样:
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;