2011-08-31 86 views
1

我需要排除来自另一个查询的复杂查询的结果。我不知道如何使LEFT JOIN与另一个JOIN查询的结果一起工作。MySQL:如何从另一个查询中减去JOIN的结果?

我想从lt返回字段。 contacts减去(不含)的这个结果后:

(SELECT `contacts`.`idContacts` AS id, `contacts`.`First_Name`, `contacts`.`Last_Name` 
FROM `lt`.`contacts` 
JOIN `lt`.`groups` 
JOIN `lt`.`groups_has_contacts` 
ON Contacts_idContacts=idContacts 
WHERE idGroup 
IN (35) 
AND Groups_idGroup 
IN (35)) 

从这个结果:

SELECT * FROM `lt`.`groups_has_contacts` Where `Groups_idGroup` = 37) 

我拉我的头发 - 任何帮助我秃头,将不胜感激之前!

+0

我甚至不能让第一次查询的感觉在你的问题。你正在做两个连接,但是其中只有一个连接了“ON”子句?所以你希望'contacts'和'groups'的Cartesian产品加入到第三个表中? – cdhowie

+0

你的查询是无法理解的垃圾。如果你只是发布表格模式并用英文表述你想要的内容,那更好。 – Bohemian

回答

0

试试这个: -

SELECT contacts.idContacts, contacts.First_Name, contacts.Last_Name 
FROM contacts, groups 
where contacts.idContacts=groups.idgroup 

OR

SELECT contacts.idContacts, contacts.First_Name, contacts.Last_Name 
FROM contacts INNER JOIN groups ON contacts.idContacts=groups.idgroup 
相关问题