【发布时间】:2017-10-26 13:07:18
【问题描述】:
我有一个名为 Prv_Data 的表,其中包含上个月的报告,具有 Report_Id 和 Timeline 列。
Prv_Data -->Report_ID | Timeline
---------------|--------------
01 | Weekly @Mon
01 | Weekly @Mon
01 | Weekly @Mon
01 | Weekly @Mon
02 | Weekly @Thru
02 | Weekly @Thru
02 | Weekly @Thru
02 | Weekly @Thru
02 | Weekly @Thru
我有另一个表名为 Cur_Month,其中包含当前月份的详细信息。
Cur_Month-->Details | Count
--------------|--------
First Date | 05/01/2017
Last Date | 05/31/2017
Friday | 4
Monday | 5
Saturday | 4
Sunday | 4
Thursday | 4
Tuesday | 5
Wednesday | 5
现在我想创建一个表名为 Cur_Data ,其中包含报告详细信息,但根据当前月份的工作日计数,意味着上个月的周一计数为 4,周四计数为 5,这就是 Report_ID 1 和 2 出现的原因因为星期一发生了 4 次,星期四发生了 5 次,但是现在在 current_Month 我们有星期一和星期四的发生是 5 和 4(当前月份信息来自 Cur_Month 表),据此我想复制 prv_month 表数据,但根据星期一的发生和星期四 --- Cur_Data
Cur_Data(所需表)-->Report_ID | Timeline
---------------|--------------
01 | Weekly @Mon
01 | Weekly @Mon
01 | Weekly @Mon
01 | Weekly @Mon
01 | Weekly @Mon
02 | Weekly @Thru
02 | Weekly @Thru
02 | Weekly @Thru
02 | Weekly @Thru
提前感谢:)
【问题讨论】:
-
您能否提供示例输入数据和适当的预期输出?
-
Prv_Data 是输入数据,Cur_Data 是预期输出
-
听起来是个糟糕的设计……你能详细说明原因吗?我假设/希望这些是视图......不是表格。
-
tables 有数百万条记录,所以我说明了它的示例/案例。我可以知道你不能理解什么。表 Prv_Data 是我现有的表,它具有报告 ID 和时间线,report_ID 01 具有星期一时间线,在上个月出现 4 次,Report_ID 02 具有星期四时间线,在上个月出现 5 次。现在我想根据 cur_month 数据根据 Mon 和 Thru 的发生来更改记录。
-
我在
Prv_Data和Cur_Data数据之间看到的唯一变化是ReportIDs 的数量不同,您应该更清楚为什么实现所需输出的逻辑。
标签: sql-server date data-manipulation dynamicquery