Select 如何从具有部分依赖关系的多个表中进行选择?

Select 如何从具有部分依赖关系的多个表中进行选择?,select,sql-server-2008-r2,partial,Select,Sql Server 2008 R2,Partial,我的SQLServer2008中有两个表。一个是项目列表,另一个是项目流,如下所示: date item qty ----------------------- 2014-10-15 item1 5 2014-10-15 item2 3 2014-10-15 item3 0 2014-10-16 item1 7 2014-10-16 item2 0 2014-10-16 item3 0 2014-10-17 item1 4

我的SQLServer2008中有两个表。一个是项目列表,另一个是项目流,如下所示:

date        item   qty
-----------------------
2014-10-15  item1    5
2014-10-15  item2    3
2014-10-15  item3    0
2014-10-16  item1    7
2014-10-16  item2    0
2014-10-16  item3    0
2014-10-17  item1    4
2014-10-17  item2    2
2014-10-17  item3    1
项目表:

item_id   item_name
--------------------
      1       item1
      2       item2
      3       item3
和流程表:

date        item_id   qty
-------------------------
2014-10-15        1     5
2014-10-15        2     3
2014-10-16        1     7
2014-10-17        1     4
2014-10-17        2     2
2014-10-17        3     1
如何保持选择项目表中的每个数据,而流表中没有记录,以便得到如下结果:

date        item   qty
-----------------------
2014-10-15  item1    5
2014-10-15  item2    3
2014-10-15  item3    0
2014-10-16  item1    7
2014-10-16  item2    0
2014-10-16  item3    0
2014-10-17  item1    4
2014-10-17  item2    2
2014-10-17  item3    1

您可能正在寻找交叉连接和左连接的组合

选择dt.date、item.item\u名称、ISNULLflow.qty、0 从项目交叉连接中,从流dt中选择不同的日期 项目上的左连接流。项目id=flow.item\u id和dt.date=flow.date 按日期、项目、项目名称订购 这个解决方案可能有一个更优雅的替代方案,也许您以后会发现它=