2013-02-26 112 views
1

我想在下面運行腳本,但總是獲得名稱字段的NULL值。MySQL JOIN返回NULL字段

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值。

表fwg_files

id | user_id 
240 | 414 
241 | 436 

表用戶

id | name 
414 | Name 1 
436 | Name 2 

表user_profiles

user_id | profile_value 
414  | "6" 
436  | "14" 

表學校

id | name 

6 | School 1 
14 | School 2 

謝謝

+1

請從用戶顯示一個記錄每表的UserProfiles – cja 2013-02-26 11:06:48

回答

0

不知道你的數據和架構,但如果up.profile_value就像是「123」,你可以試試這個:

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