首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列出两个用户之间的公共值的MySQL查询

列出两个用户之间的公共值的MySQL查询
EN

Stack Overflow用户
提问于 2011-03-09 19:56:39
回答 4查看 1.2K关注 0票数 3

此表列出了参加活动的事件和用户:

用户中转站和中转站

商品

商品、商品等

 /T1582-1991商品价格、商品价格

 /T1592-1988商品、商品、商品等

商品

 /T1592-1988商品价格、价格等

如何在此表上运行查询,以列出两个给定用户之间常见的所有事件。

我猜,这需要一个自我加入,但我不确定。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-09 19:59:14

代码语言:javascript
复制
SELECT *
FROM myTable joe
JOIN myTable jill ON jill.User='Jill' AND jill.Event=joe.Event
WHERE joe.User='Joe'

这也可能有效。有时它可以更有效地这样做(将所有条件放在联接中)

代码语言:javascript
复制
SELECT *
FROM myTable joe
JOIN myTable jill ON jill.User='Jill'
    AND jill.Event=joe.Event
    AND joe.User='Joe'
票数 5
EN

Stack Overflow用户

发布于 2011-03-09 20:12:11

代码语言:javascript
复制
SELECT * 
   FROM myTable t1
      JOIN myTable t2 
         ON t1.event = t2.event
       and t2.User="Jill"
   where
      t1.user = "Joe"
票数 1
EN

Stack Overflow用户

发布于 2011-03-09 20:00:08

代码语言:javascript
复制
select event from table group by event having count(user) =2

但这并不能给出用户的名字

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5251408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档