0

データを選択しているテーブルがいくつかあります。フィールド「interested_pa​​rties.emp_id」と「solicitation_entrys.sol_ent_id」が満たされている場合にのみ、これらのテーブルから情報のリストを取得しようとしています。

これは私がこれまでに思いついた私の質問です:

SELECT * FROM users 
JOIN interested_parties ON (users.emp_id = interested_parties.emp_id) 
JOIN department_colors ON (department_colors.dept_id = users.emp_dept) 
JOIN solicitation_entrys ON (solicitation_entrys.sol_ent_id = interested_parties.sol_ent_id) 
WHERE IS NOT NULL (interested_parties.emp_id, solicitation_entrys.sol_ent_id)

目標は、これらのフィールドがnullではないこれらのテーブルからすべてを選択することです。MySQLから#1064エラーが発生し、問題を解決できないようです。選択の最初にifを実行する必要がありますか?もしそうなら、結合でそれをどのように行いますか?ご協力ありがとうございました。

4

2 に答える 2

0

代わりにこれを使用してください

SELECT * FROM users 
JOIN interested_parties ON (users.emp_id = interested_parties.emp_id) 
JOIN department_colors ON (department_colors.dept_id = users.emp_dept) 
JOIN solicitation_entrys ON (solicitation_entrys.sol_ent_id = interested_parties.sol_ent_id) 
WHERE interested_parties.emp_id IS NOT NULL 
AND solicitation_entrys.sol_ent_id IS NOT NULL

nullでないかどうか、各フィールドを比較する必要があります。

于 2012-06-22T14:39:22.340 に答える
0

MySQLが言うように、エラーはSQL構文にあります。WHERE句は次のようになります。

WHERE (interested_parties.emp_id IS NOT NULL)
AND (solicitation_entrys.sol_ent_id  IS NOT NULL)
于 2012-06-22T14:46:40.720 に答える