假设我有以下表格
Collection DirectorId StudioId
1 NULL 1
2 2 NULL
3 NULL 2
Director MovieId
1 1
2 4
Studio MovieId
1 1
2 3
2 4
1 2
集合表将始终具有导演或工作室ID,但从不都兼有。
如何编写查询以将所有电影集中在一个集合中,以便我最终得到
CollectionID MovieID
1 1
1 2
2 4
3 3
3 4
我希望这是有道理的
答案 0 :(得分:1)
这应该有用(不确定你的列名,但你明白了):
select c.CollectionID, isnull(d.MovieId, s.MovieId) MovieID
from Collection c
left join Director d on d.Director=c.DirectorId
left join Studio s on s.Studio=c.StudioId