SELECT card_num,
COUNT(merchant_code)
from e_transaction
where trans_date between '20161017 00:00' and '20161017 23:59'
and channelid='02'
and trans_code='P'
and card_num in (select card_num,
sum(trans_amount)
from e_transaction
where trans_date between '20161017 00:00' and '20161017 23:59'
and channelid='02'
and trans_code='T'
and card_num not in (select card_num
from e_transaction
where trans_date between '20160724 00:00' and '20161016 23:59')
group by card_num
having sum(trans_amount) > 100000)
group by card_num
having count (merchant_code) > 1
我不断收到此查询的语法错误,但似乎找不到错误的位置。我正在尝试今天用相同的merchant_code假脱机使用多个card_num,且trans_amount大于100000,并且在20160724和昨天之间找不到
错误讯息
[','附近的语法不正确] [关键字'group'附近的语法不正确]
正确格式化查询后,很容易发现问题。在您的第一个嵌套选择中,您写道:
and card_num in (select card_num,
sum(trans_amount)
from e_transaction
...)
的in
期望是一列,但嵌套选择却给出了两列。您需要做的就是sum(trans_amount)
从嵌套选择中删除,如下所示:
and card_num in (select card_num
from e_transaction
...)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句