基本完全一样的sql一句,执行结果不同?求大神解答

SELECTo.erp_sku,o.amountasoglc_amount,sum(g.amount)asglc1_sum_amountFROMromeo.oglcoLE... SELECT o.erp_sku, o.amount as oglc_amount, sum(g.amount) as glc1_sum_amount
FROM romeo.oglc o LEFT JOIN romeo.glc1 g ON o.erp_sku = g.erp_sku
GROUP BY o.erp_sku
HAVING o.amount != sum(g.amount)

SELECT o.erp_sku, o.amount as oglc_amount, sum(g.amount) as glc1_sum_amount
FROM romeo.oglc o LEFT JOIN romeo.glc1 g ON o.erp_sku = g.erp_sku
GROUP BY o.erp_sku
HAVING o.amount != glc1_sum_amount
展开
 我来答
匿名用户
2013-12-09
展开全部
怎么会一样,sum(g.amount) glc1 里面的值 glc1_sum_amount是 o.erp_sku = g.erp_sku
的值 后面的是有条件的 前面是没有条件的SUM
追问
谢谢解答,我们主从库数据不符,两个sql应该是一样的意思,结果应该完全相同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
菜鸟6213
2013-12-09 · 超过26用户采纳过TA的回答
知道答主
回答量:95
采纳率:100%
帮助的人:46.7万
展开全部
如果只是找一张表的话,你这个写法是没有区别的。
你加了一个或连接 可能有一些记录查询不到,glc1_sum_amount 的值可能会少于sum(g.amount)
追问
谢谢解答,我们主从库数据不符,两个sql应该是一样的意思,结果应该完全相同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东乐II
2013-12-09 · TA获得超过263个赞
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:187万
展开全部
这不是结果不一样的问题吧,第二个查询应该会报错!
因为Select子句的执行顺序是在 Group Having 语句之后,
那么你在Select 定义的别名 在Group Having中怎么能使用呢!?
更多追问追答
追问
不会报错的,我的数据库测试结果两个一样,提交到另一个数据库,结果跑出来完全不一样
追答
我越来越看不懂你的SQL了,你的查询中都是根据 o.erp_sku 来进行分组聚合的,

但是Select 列表中怎么可以出现 o.amount as oglc_amount 这个字段呢?

o.amount 根本没有分组啊!
类似的查询我在SQL Server2008上是报错的,楼主用的是什么数据库呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式