1

以下のスクリプトを実行しようとしていますが、名前フィールドに常に 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 school テーブルで問題が発生したようです。SELECT 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

ありがとうございました

4

1 に答える 1

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
于 2013-02-26T11:12:44.013 に答える