在MySQL中使用IS NOT NULL时执行多个连接

时间:2012-06-22 14:36:00

标签: mysql join null conditional-statements

我有几个表,我从中选择数据。我试图从字段中获取这些表中的信息列表 满足“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)

目标是从这些表中选择所有这些字段不为空的表。 我从MySQL得到#1064错误,我似乎无法解决问题。我必须在选择开始时执行if吗?如果是这样,你会怎么做加入? 谢谢你的帮助。

2 个答案:

答案 0 :(得分: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

您必须比较每个字段是否为空。

答案 1 :(得分:0)

正如MySQL应该告诉你的那样,错误在你的SQL语法中。 WHERE子句应该是:

WHERE (interested_parties.emp_id IS NOT NULL)
AND (solicitation_entrys.sol_ent_id  IS NOT NULL)