だから、別のフィールドの値が0でない場合にのみフィールドを選択するのに問題があります。MySQLは動的にwhere句で結合内のフィールドを選択しますか?
ここでは何が起こっているのですか。 users
、schools
、campuses
そして基本的に、私はこれらの3つのテーブルから単一のユーザデータを選択する必要があります -
私は3つのテーブルを持って、彼らがしています。 users.campus_idフィールドがない場合、私は唯一のキャンパスからcampus_nameフィールドを選択したい0クエリが渡されている
ので、擬似次のようにコード化された何かがあなたに良いアイデアを与えるかもしれません。..一部のユーザーのIDを持つ$id
変数です。
SELECT users.*, schools.*, (if(users.campus_id != 0) then campuses.campus_name)
FROM users, schools, campuses
WHERE users.id = '$id' (if(users.campus_id != 0) then AND campuses.id = users.campus_id)