KTa*_*ate 1 sql t-sql sap sapb1
我想在运行此查询时总计查询[订单数量]和[总收入]的天数.但我在我的SQL服务器中收到此错误"从字符串转换日期和/或时间时转换失败".
我的代码是这样的:
select TaxDate [Date]
,count(docentry) [# of Orders]
,sum(doctotal)-(SUM(TotalExpns)+SUM(VatSum)) [$]
from ORDR
where CANCELED<>'Y'
and SlpCode = '37'
and TaxDate >= '2015-05-26'
and DocStatus = 'C'
GROUP BY TaxDate
UNION ALL
select 'Total'
,SUM(docentry)
,sum(doctotal)-(SUM(TotalExpns)+SUM(VatSum))
from ORDR
where CANCELED<>'Y'
and SlpCode = '37'
and TaxDate >= '2015-05-26'
and DocStatus = 'C'
group by TaxDate
order by TaxDate
Run Code Online (Sandbox Code Playgroud)
我是编写查询的新手.我没有使用"UNION"工具的经验.所以我对此提出任何建议表示感谢.
你有一个union all在第一子查询和日期'Total'在第二位.SQL Server决定两者都应该是日期,因此您将收到转换错误'Total'.
它们需要是同一类型.尝试将第一个更改为:
select convert(varchar(10), TaxDate, 121) as [Date],
count(docentry) [# of Orders],
sum(doctotal)-(SUM(TotalExpns)+SUM(VatSum)) [$]
Run Code Online (Sandbox Code Playgroud)
union all无论如何,您不需要此查询.我想with rollup你做了什么:
select TaxDate [Date], count(docentry) [# of Orders],
sum(doctotal)-(SUM(TotalExpns)+SUM(VatSum)) [$]
from ORDR
where CANCELED <> 'Y' and SlpCode = '37' and TaxDate >= '2015-05-26' and
DocStatus = 'C'
group by TaxDate with rollup;
Run Code Online (Sandbox Code Playgroud)