我有下表
ID | Person | Type | Function
-----------------------------
1 | John | 1 | 1
2 | Smith | 1 | 2
我想进行查询以从两行获取单个结果。第一列是Person as ProjectLead where function = 1 and type = 1
,第二列是Person as Stakeholder where function = 2 and type = 1
ProjectLead | Stakeholder
-----------------------------
John | Smith
有人有任何建议吗?
答案 0 :(得分:1)
您可以在type
上使用自我加入:
SELECT projectlead, stakeholder
FROM (SELECT person AS projectlead, type
FROM mytable
WHERE function = 1) p
JOIN (SELECT person AS stakeholder, type
FROM mytable
WHERE function = 2) s ON p.type = s.type
答案 1 :(得分:0)
桌上的SelfJoin
SELECT ProjectLead = ProjectLead.Person,
Stakeholder = StakeHolder.Person
FROM [YourTableName] AS ProjectLead
LEFT JOIN [YourTableName] AS StakeHolder ON StakeHolder [Function] = 2 AND StakeHolder.[TYPE] = 1
WHERE ProjectLead.[Function] = 1 AND ProjectLead.[TYPE] = 1