如何将多个SQL查询中的数据插入表中的1行?

时间:2017-03-22 15:26:50

标签: sql ssms

我有一个每周工作一周的视觉工作室报告,它会生成一份包含不同销售信息的PDF。例如:总销售额,总订单数,总库存明细等。所有这些数字都是使用不同的查询从不同的表中提取的。我想要做的是每晚都运行所有查询,并将数据存储在表中每个日期的新行中。

这是一个我希望如何看的例子。

Date       Sales     Orders     Inventory Value
1/1/2017   5,000     50         10,000
1/2/2017   6,000     60         9000
1/3/2017   5,500     55         8500

所以每一行都是一天,我的查询会提供每个值的列。我不知道该如何解决这个问题。我尝试了一个联盟,但我的所有数据都被放入了新的行,而不是那一行中给定日期的所有数据。

任何想法如何实现这样的目标?

1 个答案:

答案 0 :(得分:0)

使用几个cte,每个函数一个

WITH [Sales] as (
       SELECT date, sales 
       .... <your query>

), [Orders]  as (
       SELECT date, Orders
       .... <your query>

), [Inventory Value]  as (
       SELECT date, Inventory
       .... <your query>
)
SELECT S.[date], S.[Sales], O.[Orders], I.[Inventory]
FROM [Sales] S
JOIN [Orders] O ON S.[date] = O.[date]
JOIN [Inventory Value] I ON S.[date] = I.[date]