SQL查询过程中出现的未知错误

wonder0537 2014-12-22 08:37:11
SQL语句是这样的
select
mt.merchant_id,mb.name as merchant_name,sum(mt.price*mt.buycount) as total,date_format(mt.regdate,'%Y-%m') as regdate
from sys_cart mt,sys_merchant mb
where mt.payflag!=0
and mt.merchant_id=1
and DATE_FORMAT(mt.regdate,'%Y')='2014'
group by date_format(mt.regdate,'%Y-%m')

结果比较诡异,我查询了一个总数(total)为100的条件
搜索出的结果确是400


我觉得很奇怪,然后找了一个总数为340的条件,
搜索结果为1360


有谁知道问题是出在什么地方吗?
...全文
219 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wonder0537 2014-12-23
  • 打赏
  • 举报
回复
多谢,问题看来解决了
dovei 2014-12-23
  • 打赏
  • 举报
回复
支持3楼,两表的关联明显没处理好。 sys_cart mt,sys_merchant mb这两表的关联字段都没有,就会全连接
还在加载中灬 2014-12-23
  • 打赏
  • 举报
回复
你这边两表关联,明显连接问题你都没处理好 sys_cart mt,sys_merchant mb这两表的关联字段都没有,就会全连接
wonder0537 2014-12-23
  • 打赏
  • 举报
回复
跟group by没有关系,我看过了
hepe00 2014-12-22
  • 打赏
  • 举报
回复
select
mt.merchant_id,mb.name as merchant_name,sum(mt.price*mt.buycount) as total,date_format(mt.regdate,'%Y-%m') as regdate
from sys_cart mt,sys_merchant mb
where mt.payflag!=0 
and mt.merchant_id=1 
and DATE_FORMAT(mt.regdate,'%Y')='2014'
group by date_format(mt.regdate,'%Y-%m')
mb表没有关联,难道所有的merchant_name都指向一个name。 不要group by看下你的数据。

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧