MySQL JOIN返回NULL字段 [英] MySQL JOIN returns NULL fields

查看:101
本文介绍了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字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆