我有一个mySQL数据库,我想从一个表(表A)中获取值(字段1),从另一表(表B)中获取值(字段2),然后进行比较。如果在表B的字段2中找到表A的字段1,则应在我的选择中排除它们。

SELECT task_name, tasks.task_id
FROM tasks
INNER JOIN custom_fields_values ON value_object_id <>task_id


这是我尝试过的方法,但似乎不起作用。它显示一式三份的task_id,这很奇怪。 Value_object_id仅具有两个字段24和32。task_id具有数字1-40,基本上我需要一个没有字段值24和32的1-40列表。

SELECT task_name, tasks.task_id
FROM tasks
INNER JOIN custom_fields_values ON value_object_id =task_id


但是,这很好用。

最佳答案

这是因为您正在使用INNER JOIN-尝试使用LEFT JOIN

SELECT tasks.task_name, tasks.task_id
FROM tasks
LEFT JOIN custom_fields_values ON custom_fields_values.value_object_id=tasks.task_id
WHERE custom_fields_values.value_object_id IS NULL


祝好运。

关于mysql - 从两个不同的表比较mySQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14569041/

10-13 00:50