给出以下SQL表:
管理员:
id Name rating
1 Jeff 48
2 Albert 55
3 Ken 35
4 France 56
5 Samantha 52
6 Jeff 50
会议:
id originatorid Assitantid
1 3 5
2 6 3
3 1 2
4 6 4
我想根据Ken的观点(id = 3)生成一个表,因此他的id可能出现在会议表的两个不同列中。 (由于我引入了两个不同的字段列,因此语句IN不起作用。)
因此输出将是:
id originatorid Assitantid
1 3 5
2 6 3
答案 0 :(得分:5)
如果您真的需要查看Ken的ID列,则只需OR
。以下内容将完全生成您的示例输出。
SELECT * FROM Meetings WHERE originatorid = 3 OR Assistantid = 3;
如果您需要使用复杂的路线和列表名称以及会议,则联接的OR
子句中的ON
应该可以在此处运行:
SELECT
Administrators.name,
Administrators.id,
Meetings.originatorid,
Meetings.Assistantid
FROM Administrators
JOIN Meetings
ON Administrators.id = Meetings.originatorid
OR Administrators.id = Meetings.Assistantid
Where Administrators.name = 'Ken'