GBase 8s
其他
问答

关联查询SQL时,数据结果混乱

发表于2025-09-11 11:28:2993次浏览11个评论

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

【GBase版本】:8s

【问题描述】*:两张表关联查询转义时,如果数据存在null,转义会错乱

比如表A字段有(code,code_name,type) 表B(level,level_name)

sql: select b.level,(select a.code_name from A where a.code = b.level and a.type = ‘level’) from B

如果此时B表level字段有空数据[null],level_name会被转义成其它level对应code的code_name

评论

登录后才可以发表评论
用户头像
路路路发表于 10个月前
稍等
GBase用户8788发表于 10个月前
SELECT
b.level,
a.code_name
FROM B b
LEFT JOIN A a ON a.code = b.level AND a.type = 'level';
A灬皮卡皮卡皮发表于 10个月前
@GBase用户8788:这种是没问题,但是放到select中转义时会存在问题
用户头像
liaosnet发表于 10个月前
你这结果集没有level_name。 你说的 “level_name会被转义成其它level对应code的code_name” 不是很明白。。
A灬皮卡皮卡皮发表于 10个月前
@liaosnet: select b.level,(select a.code_name from A where a.code = b.level and a.type = ‘level’) as level_name from B
GBase用户21143发表于 10个月前
@liaosnet:没有遇到过你说的这个情况。
A灬皮卡皮卡皮发表于 10个月前
造了点数据,放在了这个帖子:https://www.gbase.cn/community/post/6177
GBase用户21143发表于 10个月前
向你学习一下。
用户头像
GBase用户28017发表于 8个月前
学习。
崔哥发表于 7个月前
千山鸟飞绝,万径人踪灭。孤舟蓑笠翁,独钓寒江雪。
GBase用户51887发表于 2个月前
学习下。