为什么这样group by了还是会很多重复数据,而且第三个表连接的不是主表

A_小白学编程 2017-09-06 04:50:27
SELECT a.crdt,a.crus,a.crna,a.biid,a.orid,o.biid as obiid,i.gco,i.gna,o.gqty,o.tqty from ltma a
LEFT JOIN inve i on a.crus=i.crco
LEFT JOIN oubd o on i.gco=o.inco
where 1=1 GROUP BY a.crdt,a.crus,a.crna,a.biid,o.biid,i.gco,i.gna,o.gqty,o.tqty,a.orid


怎么处理,求大神指点
...全文
1047 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
A_小白学编程 2017-09-12
  • 打赏
  • 举报
回复
感谢各位的解答,已经解决
ynquan 2017-09-08
  • 打赏
  • 举报
回复
想去掉重复数据用SELECT distinct * from
oqqken12345 2017-09-08
  • 打赏
  • 举报
回复
给测试数据,以及要的结果
xiaoxiangqing 2017-09-07
  • 打赏
  • 举报
回复
最好给测试数据,以及要的结果
OwenZeng_DBA 2017-09-06
  • 打赏
  • 举报
回复
引用 8 楼 qq_37188206 的回复:
[quote=引用 6 楼 zengertao 的回复:] LZ你想select出不重复的这些列的话可以考虑直接用distinct 可是distinct影响查询速度
最好有数据的截图,看看你说的那些数据是重复的。
A_小白学编程 2017-09-06
  • 打赏
  • 举报
回复
[quote=引用 6 楼 zengertao 的回复:] LZ你想select出不重复的这些列的话可以考虑直接用distinct 可是distinct影响查询速度
A_小白学编程 2017-09-06
  • 打赏
  • 举报
回复
那个表没有字段和主表有链接的外键呀,但是做的那页面又要显示oubd表中的字段,所以我就和inve表关联了,他们有外键联系
繁花尽流年 2017-09-06
  • 打赏
  • 举报
回复
引用 楼主 qq_37188206 的回复:
SELECT a.crdt,a.crus,a.crna,a.biid,a.orid,o.biid as obiid,i.gco,i.gna,o.gqty,o.tqty from ltma a LEFT JOIN inve i on a.crus=i.crco LEFT JOIN oubd o on i.gco=o.inco where 1=1 GROUP BY a.crdt,a.crus,a.crna,a.biid,o.biid,i.gco,i.gna,o.gqty,o.tqty,a.orid 怎么处理,求大神指点
LZ你想select出不重复的这些列的话可以考虑直接用distinct 如

SELECT distinct a.crdt,a.crus,a.crna,a.biid,a.orid,o.biid as obiid,i.gco,i.gna,o.gqty,o.tqty from ltma a 
LEFT JOIN inve i on a.crus=i.crco
LEFT JOIN oubd o on i.gco=o.inco
二月十六 版主 2017-09-06
  • 打赏
  • 举报
回复
引用 4 楼 qq_37188206 的回复:
公司测试数据刚初始化了。。。
然后呢
A_小白学编程 2017-09-06
  • 打赏
  • 举报
回复
公司测试数据刚初始化了。。。
A_小白学编程 2017-09-06
  • 打赏
  • 举报
回复
问题是公司刚把测试数据初始化了
二月十六 版主 2017-09-06
  • 打赏
  • 举报
回复
是不是有不重复的字段?如果都在group 那里,直接distinct就行了。试试这个。另外不是主表是什么意思?
SELECT DISTINCT
        a.crdt ,
        a.crus ,
        a.crna ,
        a.biid ,
        a.orid ,
        o.biid AS obiid ,
        i.gco ,
        i.gna ,
        o.gqty ,
        o.tqty
FROM    ltma a
        LEFT JOIN inve i ON a.crus = i.crco
        LEFT JOIN oubd o ON i.gco = o.inco
顺势而为1 2017-09-06
  • 打赏
  • 举报
回复
楼主拿一些数据出来说话吧

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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