查询以生成上个月的交易

时间:2016-08-25 16:35:30

标签: sql informix

我需要编写一个查询,当在当月开始执行时,必须生成一个报告,其中包含上个月的总交易数,并且我编写了以下查询:

SELECT 
l.state AS Province 
,l.taxing_entity AS TaxJurisdiction 
,COUNT(DISTINCT t.trans_id) AS TotalTransCount 
FROM TRANSACTION AS t 
LEFT OUTER JOIN location AS l 
ON t.location_id = l.location_id 
LEFT OUTER JOIN trans_line AS tl 
ON t.trans_id = tl.trans_id 
LEFT OUTER JOIN contract as c 
ON t.contract_id = c.contract_id 
WHERE 
l.chain_id = 10 
AND c.issuer_id IN (156967) 
AND t.extra_5 BETWEEN LAST_DAY(TODAY - 2 units month) + 1 units day AND  LAST_DAY(TODAY - 1 units month) 
AND tl.cat NOT IN ('DEF','DEFD','DEFC')
GROUP BY l.state, l.taxing_entity, Province 
ORDER BY l.state,l.taxing_entity 

但是此查询会引发错误"It is not possible to convert between the specified types. "。我尝试更改日期范围如下:

t.extra_5 >= DATEADD(MONTH, DATEDIFF(MONTH, 31, CURRENT_TIMESTAMP), 0) AND t.extra_5 < DATEADD(MONTH, DATEDIFF(MONTH, 0, CURRENT_TIMESTAMP), 0)

t.extra_5 > DateAdd(WEEK, -1, GETDATE()+1) and t.extra_5<=GETDATE()

但到目前为止还没有任何结果。列"extra_5"的当前格式如下:

enter image description here

有人可以建议一种方法来获取上个月的总交易量。

0 个答案:

没有答案