这张表格列出了参加活动的事件和用户:
用户 事件 Joe 电影 Joe 购物中心 Jill 购物中心 Joe 喝酒 Jenn 喝酒 Jill 喝酒
如何在这个表格上运行一个查询,以列出两个给定用户之间共同的所有事件。
我的猜测是,这将需要自连接,但我不确定。
用户 事件 Joe 电影 Joe 购物中心 Jill 购物中心 Joe 喝酒 Jenn 喝酒 Jill 喝酒
如何在这个表格上运行一个查询,以列出两个给定用户之间共同的所有事件。
我的猜测是,这将需要自连接,但我不确定。
SELECT *
FROM myTable joe
JOIN myTable jill ON jill.User='Jill' AND jill.Event=joe.Event
WHERE joe.User='Joe'
SELECT *
FROM myTable joe
JOIN myTable jill ON jill.User='Jill'
AND jill.Event=joe.Event
AND joe.User='Joe'
SELECT *
FROM myTable t1
JOIN myTable t2
ON t1.event = t2.event
and t2.User="Jill"
where
t1.user = "Joe"
select event from table group by event having count(user) =2
这不会给你用户的名称
select eventname from user_event JOIN user_event as t2 USING (eventname)
where user_event.username="joe" and t2.username="jill"
这里,'user_event' 是您的表名,而表 't2' 是 'user_event' 表的别名