吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1150|回复: 10
收起左侧

[求助] SQL

[复制链接]
yk156511 发表于 2021-12-20 09:28
TI_CBV7O2GJKNI)Y8F]Q9_6.png
这个BB查出来是120条记录的话。 我为了新显示几个字段加了一个左连接,查询结果变成了123条。
left join on只用djkid为唯一条件的话,结果更多达到了325条。
这个是什么原因啊。 不能用left join吗?
2VAJXB504T@$P03()0O[JLY.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

mmqwer 发表于 2021-12-20 09:38
left join   right join  inner join   这三个的区别建议复习一下
qiaopf888 发表于 2021-12-20 09:43
mmqwer 发表于 2021-12-20 09:38
left join   right join  inner join   这三个的区别建议复习一下

老哥一语中的
qqrate 发表于 2021-12-20 09:46
325:123问题在于bb.a=aa.djsj这个条件所限制,两个表肯定有202行不一样的,语句本身没错,是你有必要根据实际需要去使用这一条件?不然结果肯定不一样
 楼主| yk156511 发表于 2021-12-20 10:32
mmqwer 发表于 2021-12-20 09:38
left join   right join  inner join   这三个的区别建议复习一下

inner join 执行出来和left join 一样的结果。 right 肯定是不行的 我要左边做主表,不是你说的这么回事。 inner 早就试过了
a397555462 发表于 2021-12-20 11:35
一个是汇总过的
破wu解 发表于 2021-12-20 13:13
select aa.bdbzzqse,aa.slid,aa.zgzqe,aa.djsj from bdc_regn_dy aa
join (select distinct djkid, (max(djsj)) as A   from bdc_regn_dy   
        where djbzt = '0'
        and .....  --两个时间条件 你补充下试试看
        group by djkid
        having count(djsj) >1
)  bb
on bb.djkid =aa.djkid
and bb.A = aa.djsj;
不知道 这样是不是符合你的需求
 楼主| yk156511 发表于 2021-12-20 13:24
破wu解 发表于 2021-12-20 13:13
select aa.bdbzzqse,aa.slid,aa.zgzqe,aa.djsj from bdc_regn_dy aa
join (select distinct djkid, (max( ...

和我的执行结果一模一样。
破wu解 发表于 2021-12-21 09:21
select aa.bdbzzqse,aa.slid,aa.zgzqe,aa.djsj from   ( select * from bdc_regn_dy  where  djbzt = '0'  group by djkid having count(djsj) >1 )  aa
join (select distinct djkid, (max(djsj)) as A   from bdc_regn_dy   
        where djbzt = '0'
        and .....  --两个时间条件 你补充下试试看
        group by djkid
        having count(djsj) >1
)  bb
on bb.djkid =aa.djkid
and bb.A = aa.djsj;


看了下 区间不一样了  
① 一个表数据是只包含 djbzt = '0'   另一个是包含 '0' 和 非零的数据
②一个之查看数据条数大于1条的   另一个表数据是1条也会包含进去的.
这两个条件 你看看 需不需要考虑下?
微信图片_20211221091249.png

免费评分

参与人数 1吾爱币 +1 收起 理由
yk156511 + 1 谢谢@Thanks!

查看全部评分

chengxuyuan01 发表于 2021-12-21 10:58
left join 左连
inner join 内连接
right join 右连
你这两个表里面的数据是不一致的,主表中对应次表的信息不止一条,你看下次表是不是这样
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表