Select 如何从具有部分依赖关系的多个表中进行选择?
我的SQLServer2008中有两个表。一个是项目列表,另一个是项目流,如下所示: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
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 按日期、项目、项目名称订购 这个解决方案可能有一个更优雅的替代方案,也许您以后会发现它=