下表列出了参加事件的事件和用户:
用户 事件
乔 电影
乔 购物中心
吉尔 购物中心
乔 喝酒
Jenn 饮酒
吉尔 饮酒
如何在此表上运行查询以列出 2 个给定用户之间常见的所有事件。
我的猜测是,这需要自我加入,但我不确定。
最佳答案
SELECT *
FROM myTable joe
JOIN myTable jill ON jill.User='Jill' AND jill.Event=joe.Event
WHERE joe.User='Joe'
这也可能有效。这样做有时会更有效(将所有条件放在 JOIN 中)
SELECT *
FROM myTable joe
JOIN myTable jill ON jill.User='Jill'
AND jill.Event=joe.Event
AND joe.User='Joe'
关于MySQL 查询以列出 2 个用户之间的公共(public)值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5251408/