当左连接表中有视图时,我有奇怪的结果
用户视图:
CREATE VIEW user_view AS
SELECT
t1.app_user_pk,
t1.app_user_id,
t1.app_user_username,
t1.app_user_email,
t1.app_user_active,
t1.app_user_changed,
t1.app_user_created,
t2.role_pk,
t2.role_id
FROM
app_user t1
INNER JOIN role t2 ON t1.role_fk = t2.role_id
选择
SELECT
t1.tile_pk,
t1.tile_id,
t1.tile_name,
t3.app_user_pk,
t3.app_user_id,
t3.role_pk,
t3.role_id
FROM tile t1
LEFT JOIN user_view t3
ON t1.app_user_fk = t3.app_user_id
结果:
你可以看到,在左连接为空后,下一行的0为role_pk而不是正确的数字,而空白为role_id而不是id。
如果我删除user_view并在select中加入角色,那么它将起作用。
由于
答案 0 :(得分:0)
似乎我的笔记本电脑上只有这个问题。我制作了SQL Fiddle link,结果就是我所期望的(正常)。但是当我在笔记本电脑上运行那个sql小提琴时,我得到了错误的结果。 我使用版本5.7.11的HeidiSql。