我的left join失效了,用了left join后跟没用一样

钛元素 2024-11-11 15:14:39

SELECT A.LCBH AS [流程编号], A.SQRQ AS [申请日期], C.lastname AS [申请人], D.departmentname AS [所属部门], A.ccsy AS [报销事由], 
E.subcompanyname AS [付款单位], A.ccksrq AS [出差开始日期], A.ccjsrq AS [出差结束日期], 
F.name AS [预算科目], G.name AS [研发其他选项], 
CASE B.cdztlx WHEN 0 THEN '个人' WHEN 1 THEN '部门'  WHEN 2 THEN '分部'  WHEN 3 THEN '成本中心'  END  AS [承担主体类型],
H.departmentname AS [承担主体], B.fyrq AS [费用日期], B.qqdd AS [起讫地点], B.ts AS [天数], B.fjp AS [飞机票], 
B.qcp AS [汽车票], B.hcp AS [火车票], B.zsf AS [住宿费], B.zdf AS [招待费], B.hsbt AS [伙食补贴],
B.jtbt AS [交通补贴], B.qt AS [其他], B.bxjexj AS [报销金额小计], B.zy AS [摘要], B.sbje AS [实报金额]
FROM formtable_main_101 A
LEFT JOIN formtable_main_101_dt1 B ON A.id = B.mainid
LEFT JOIN HrmResource C ON A.sqr = C.id
LEFT JOIN HrmDepartment D ON A.ssbm = D.id 
LEFT JOIN hrmsubcompany E ON A.fkdw = E.id
LEFT JOIN fnabudgetfeetype F ON B.yskm = F.id
LEFT JOIN mode_selectitempagedetail G ON B.yfqtxx = G.disorder
LEFT JOIN HrmDepartment H ON B.cdzt = H.id

WHERE F.archive <> 1 AND G.mianid = 89

就是红色部分,去掉就显示700多条,加上就只有55条,跟join一样,left失效了。help!

 

 

...全文
91 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 版主 11-15
  • 打赏
  • 举报
回复

left join 后on的条件不会减少数据,可能数据会变多,比如
id
1

id
1
2
1

这样关联会出来两条数据,但是如果在where条件里写了t2 的字段条件,就可能会出现数据变少的情况,比如t2.id=2 这样的话,一条数据也出不来了

34,696

社区成员

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

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