本文介绍了MySQL JOIN返回NULL字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试在下面运行脚本,但名称字段始终为NULL值.
I'm trying to run script below, but always getting NULL values for name field.
SELECT u.name AS _user_name, s.name AS _school_name FROM fwg_files AS f LEFT JOIN users AS u ON u.id = f.user_id LEFT JOIN user_profiles AS up ON up.user_id = u.id LEFT JOIN school AS s ON s.id = up.profile_value在我看来,JOIN ON学校表中的问题是,我尝试选择s.id,它也返回NULL值.
The problem seems to me in JOIN ON school table, I tried to SELECT s.id and it returns NULL values also.
表fwg_files
Table fwg_files
id | user_id 240 | 414 241 | 436表格用户
id | name 414 | Name 1 436 | Name 2表user_profiles
Table user_profiles
user_id | profile_value 414 | "6" 436 | "14"餐桌学校
id | name 6 | School 1 14 | School 2谢谢
推荐答案不确定数据和架构,但是如果up.profile_value类似于"123",则可以尝试以下方法:
Not sure about your data and the Schema, but if up.profile_value is like "123", you can try this:
SELECT u.name AS _user_name, s.name AS _school_name FROM fwg_files AS f LEFT JOIN users AS u ON u.id = f.user_id LEFT JOIN user_profiles AS up ON up.user_id = u.id LEFT JOIN school AS s ON CONCAT('"', s.id, '"') = up.profile_value更多推荐
MySQL JOIN返回NULL字段
发布评论