我有兩個查詢。一個查詢根據員工一天中安排給他們的訂單來提取信息。另一個查詢抽取一天內完成並支付的訂單數量,以及訂單收入總額。如何在SQL Server 2012中加入兩個select查詢
我已經颳了論壇來獲取這些代碼,以獲得這些查詢,但我需要將兩個查詢連接在一起。一旦完成,我想在報告生成器中使用這些信息。對某人來說可能很簡單,但是這讓我感到困惑,因爲我遠離任何一位SQL專家。
我現在只需要一天,但是現在發現了這個代碼並進行了修改,並希望在將來需要一週和一個月的數據時可以使用它。
任何幫助,將不勝感激。
查詢1個
declare @dt DATE = '20160823'
set DATEFIRST 7;
set @dt = dateadd(week, datediff(week, '19050101', @dt), '19050101');
;with dt as
(
select
Technician = (CASE emp_id
WHEN 'CW697' THEN 'Joe Biggs'
WHEN 'DZ663' THEN 'Mimi Cassidy'
END),
dw = datepart(weekday, DATE)
from
dbo.ordemps
where
date >= @dt and date <dateadd(day, 7, @dt)
),
x AS
(
select
Technician, dw = coalesce(dw,8),
c = convert(varchar(11), COUNT(*))
from
dt
group by
grouping sets((Technician), (Technician,dw))
)
select
Technician,
[Sun] = coalesce([1], '-'),
[Mon] = coalesce([2], '-'),
[Tue] = coalesce([3], '-'),
[Wed] = coalesce([4], '-'),
[Thu] = coalesce([5], '-'),
[Fri] = coalesce([6], '-'),
[Sat] = coalesce([7], '-'),
TOTAL =[8]
from
x
PIVOT
(MAX(c) FOR dw IN([1],[2],[3],[4],[5],[6],[7],[8])) as pvt;
查詢2
select
case
when grouping(d.m)=15 then 'Year ' + cast(max(d.y) as varchar(10))
when grouping(date)=15 then datename(m, max(DATE)) + ' ' + cast(max(d.y) as varchar(10))
else cast(cast([date] as date) as varchar(255))
end as DATE,
TotalOrders = /*sum(Amount)*/convert(varchar(11), COUNT(*)),
TotalSales = sum(Amount),
Technician = (CASE recv_by
WHEN 'CW697' THEN 'Joe Biggs'
WHEN 'DZ663' THEN 'Mimi Cassidy'
END)
from
ordpay
cross apply
(select
datepart(yy, [date]),
datepart(m, [date])
) d(y, m)
where
[DATE] >= dateadd(day, datediff(day, 1, getdate()), 0)
and [date] < dateadd(day, datediff(day, 0, getdate()), 0)
group by
recv_by, d.y, rollup (d.m, date)
order by
d.y desc, grouping(d.m), d.m, grouping(DATE), DATE
歡迎的StackOverflow(SO)!儘管我們享受互相幫助,但我們不是代碼寫作服務。爲這個問題付出一些努力,並試圖找出答案。當你有問題時,尋求幫助。通常這些問題由於沒有問題被問到而關閉,並且在問題部分顯示的努力不足。我們不會這麼做是卑鄙或殘酷的,但是因爲那些編寫/維護這些代碼的人應該表現出一些努力,而其他人則爲此類工作獲得報酬! – xQbert
對不起,如果我遇到了,就好像我只是要求某人爲我寫軟件一樣。我一直在努力解決這個問題一整天。我已經在這裏看過很多帖子,但還沒有完全掌握需要什麼。所以,我決定在這裏發佈一個問題,在一天之後我的腦袋裏敲了一下。 – mistrfree
如果您提供一些代碼來生成輸入數據並且告訴我們期望的結果是什麼,那將會容易得多。只需添加一個創建表和一些插入語句,以便我們可以使用它來生成示例數據。順便說一句,我認爲這可能是一個有效的問題,值得努力。 – FLICKER