我已经通过其他一些答案进行了搜索,但是还没有达到预期效果。
我的查询:
SELECT
CONVERT(VARCHAR(18),[Trx_Date],110) AS Date
,[TRX_TYPE]
,SUM([QUAN]) AS QUANt
FROM [VM].[dbo].[INVTRX]
WHERE SKU='7342761' AND TRX_TYPE!='S' AND TRX_DATE BETWEEN '12-15-2016' AND '12-18-2016' AND ID_CONT=557
GROUP BY QUAN, Trx_Type, TRX_DATE
我的结果:
日期---- TRX_TYPE ---- QUANt
12-15-2016 ---- PT ---- 48.0000
2016年12月16日---- PT ---- 78.0000
2016年12月16日---- PT ---- 90.0000
我在寻找:
日期---- TRX_TYPE ---- QUANt
12-15-2016 ---- PT ---- 48.0000
2016年12月16日---- PT ---- 168.0000
另外,还有一个问题:如何在Stackoverflow上格式化表?
感谢您的帮助!
答案 0 :(得分:1)
SELECT
CONVERT(VARCHAR(18),[Trx_Date],110) AS Date
,[TRX_TYPE]
,SUM([QUAN]) AS QUANt
FROM [VM].[dbo].[INVTRX]
WHERE SKU='7342761' AND TRX_TYPE!='S' AND TRX_DATE BETWEEN '12-15-2016' AND '12-18-2016' AND ID_CONT=557
GROUP BY Trx_Type, Trx_Date;
答案 1 :(得分:1)
您似乎在日期上有时间组件。我建议只转换为date
而不是字符串:
SELECT CAST([Trx_Date] AS Date), TRX_TYPE
SUM(QUAN) AS QUANT
FROM [VM].[dbo].[INVTRX] i
WHERE SKU = '7342761' AND
TRX_TYPE <> 'S' AND
TRX_DATE >= '2016-12-15' AND
TRX_DATE < '2016-12-19' AND
ID_CONT = 557
GROUP BY CAST([Trx_Date] AS Date), Trx_Type;
注意:
date
以删除时间组件。GROUP BY
。BETWEEN
。GROUP BY
。