SQL查询获取配对链接

时间:2011-03-16 09:51:06

标签: mysql sql

我有三张桌子:

  • 以项目名称(PROJECT)
  • 索引的一个
  • 以人名(参与者)
  • 编制的索引
  • 将成员链接到项目(每个项目的每个成员一行)(PROJPART)。

    人们可能并且经常会成为多个项目的成员。我需要一个SQL查询(使用MySQL),它将列出所有链接的项目对,因为它们共享至少一个成员。这在SQL中可行吗?如果是,您可以建议查询的形式吗?

2 个答案:

答案 0 :(得分:0)

select c.project_name, d.project_name
from projpart a
inner join projpart b
  on a.memberid = b.memberid
     and a.projectid < b.projectid
inner join project c on c.projectid = a.projectid
inner join project d on d.projectid = b.projectid

答案 1 :(得分:0)

内部选择将返回多个项目中的成员。那些项目将被连接。

 SELECT member_id,project FROM PROJECT, PROJPART WHERE
      PROJPART.project_id= PROJECT.project_id AND 
      PROJPART.MEMBER IN
      (SELECT MEMBER, SUM(1) FROM PROJPART
      GROUP BY members
      HAVING SUM(1)>1)
      ORDER BY member_id

我认为它与您想要的完全不同,但它可能对您有所帮助