2011-10-10 28 views
1

我有以下查詢:MySQL的:與排序不是在

SELECT deals.* FROM `deals` as deals 
JOIN cities_deals as cd on cd.deal_id=deals.id and cd.city_id='1' 

這將選擇所有的交易,然後將它們分組由城市他們是在我現在想的是所有交易的列表根本不在cities_deals中。

回答

1

您可以使用NOT IN

SELECT * 
FROM deals 
WHERE id NOT IN (SELECT deal_id FROM cities_deals) 

另一種方式來寫它是使用LEFT JOIN:

SELECT d.* 
FROM deals AS d 
LEFT JOIN cities_deals AS cd 
ON cd.deal_id = d.id 
WHERE cd.deal_id IS NULL