具有相同字段名的两个表:学生表(a)中的>> student.id和记录表(b)中的student.id
如果来自学生表的匹配也在记录表中(join on a.student.id = b.student.id),则说"Yes“,否则说"No”as“student.id”
发布于 2020-07-21 03:05:31
如果没有重复项,则可以使用left join
select s.*, (case when r.student_id is null then 'No' else 'Yes' end)
from students s left join
records r
on r.student_id = s.id;如果可能存在重复项,则在加入之前删除重复项:
select s.*, (case when r.student_id is null then 'No' else 'Yes' end)
from students s left join
(select distinct r.student_id
from records r
) r
on r.student_id = s.id;发布于 2020-07-21 03:08:05
考虑一个左连接,它将显示第一个表中的所有记录,以及第二个表中的任何匹配记录。您可以使用CASE语句来显示它们是否匹配。
SELECT
A.StudentID,
B.StudentID,
CASE WHEN b.StudentID IS NOT NULL THEN 'Yes' ELSE 'NO' END As Match
FROM
StudentA a
LEFT JOIN StudentB b on a.StudentID = b.StudentID发布于 2020-07-21 03:09:15
在以下情况下,您可以使用左连接和case
select case when b.student_id is null then 'No' else 'Yes' END match
from student a
left join record b on a.student_id = b.student_idhttps://stackoverflow.com/questions/63002200
复制相似问题