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)

目标是从这些表中选择所有字段,其中这些字段不为空。我从 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

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

于 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 回答