我正在进行左外连接,但我只想让它从右表中拉出一次匹配。
例如,我想查询requirements
表,左外连接activity
表,但只匹配第一个结果,右边没有重复。
示例:
需求表
requirement_number requirement_type
1 class
2 class
3 project
4 project
5 cert
6 interview
活动表
activity_number activity_type activity_name
1 class class1
2 class class2
3 class class3
4 project project1
5 project project2
6 project project3
7 cert cert1
8 cert cert2
9 cert cert3
结果:
requirement_number requirement_type activity_type activity_name
1 class class class1
2 class class class2
3 project project project1
4 project project project2
5 cert cert cert1
6 interview interview NULL
答案 0 :(得分:0)
尝试:
GROUP BY requirement_number
答案 1 :(得分:0)
select
r.requirement_number,
r.requirement_type,
a.activity_type,
min(a.activity_name)
from requirements r
left join activity a
on r.requirement_type = a.activity_type
group by r.requirement_number,
r.requirement_type,
a.activity_type
这是假设您想要“最低”的activity_name。如果你想要第一个实例,你必须在结果集中包含activity_number,并在其上使用MIN函数。
这是一个SQLFiddle来演示......