我有三张桌子:
将成员链接到项目(每个项目的每个成员一行)(PROJPART)。
人们可能并且经常会成为多个项目的成员。我需要一个SQL查询(使用MySQL),它将列出所有链接的项目对,因为它们共享至少一个成员。这在SQL中可行吗?如果是,您可以建议查询的形式吗?
答案 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
我认为它与您想要的完全不同,但它可能对您有所帮助