Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Sql Server每周查询结果_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql server Sql Server每周查询结果

Sql server Sql Server每周查询结果,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我有以下几张表 Order ID OrderDate Quantity Item 1 1 jan 2012 5 A 2 6 jan 2012 10 A 3 9 jan 2012 3 B 4 16 jan 2012 2 C Order Shipped ID SuppliedOn Quantity Item OrderId 1 7 Jan 2012 3 A 1 2

我有以下几张表

Order

ID OrderDate   Quantity Item
1  1 jan 2012     5      A
2  6 jan 2012     10     A
3  9 jan 2012     3      B
4  16 jan 2012    2      C

Order Shipped

ID  SuppliedOn  Quantity  Item    OrderId
1   7 Jan 2012       3      A       1
2   9 Jan 2012       2      A       1
3   9 Jan 2012       10     A       2
4   17 jan 2012      3      B       3
我想列出每周收到的订单和供应的订单

以下是解决方案:

Select my.Mydate, MAX(ThisWeekStart) as ThisWeekStart , SUM(oqty) as oqty,SUM(sqty) as sqty,item from
(Select DatePart(week,o.orderdate) as Mydate,
    dateadd(wk, datediff(wk, 0, o.orderdate), 0) as ThisWeekStart,
 o.qty as oqty, 0 as sqty,  o.item
FROM [order] o 
UNION
SELECT DatePart(week,s.suppliedon) as suppliedon,
dateadd(wk, datediff(wk, 0, s.suppliedon), 0) as ThisWeekStart,
 0 as oqty, s.qty as sqty, s.item
FROM supply s) as my
GROUP BY my.Mydate, item
让我知道它是否对你有用

Select my.Mydate, MAX(ThisWeekStart) as ThisWeekStart , SUM(oqty) as oqty,SUM(sqty) as sqty,item from
(Select DatePart(week,o.orderdate) as Mydate,
    dateadd(wk, datediff(wk, 0, o.orderdate), 0) as ThisWeekStart,
 o.qty as oqty, 0 as sqty,  o.item
FROM [order] o 
UNION
SELECT DatePart(week,s.suppliedon) as suppliedon,
dateadd(wk, datediff(wk, 0, s.suppliedon), 0) as ThisWeekStart,
 0 as oqty, s.qty as sqty, s.item
FROM supply s) as my
GROUP BY my.Mydate, item