1

假设我有以下表格

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

我希望这是有道理的

4

1 回答 1

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
于 2012-11-07T22:59:51.783 回答