我有2個表,CAR_1和CAR_2。表CAR_1比CAR_2包含更多列和更多記錄。mysql-表比較錯誤
運行下面返回查詢4647個記錄:
(SELECT CAR_1.ID FROM CAR_1, CAR_2 WHERE
CAR_1.ID = CAR_2.ID AND
CAR_1.MODEL = CAR_2.MODEL AND
CAR_1.SYMBOL = CAR_2.SYMBOL AND
CAR_1.MAKE = CAR_2.MAKE AND
CAR_1.ORIGIN = CAR_2.ORIGIN) AS table_all
在運行相同的查詢,而最後2列比較返回4600條記錄。
(SELECT CAR_1.ID FROM CAR_1, CAR_2 WHERE
CAR_1.ID = CAR_2.ID AND
CAR_1.MODEL = CAR_2.MODEL AND
CAR_1.SYMBOL = CAR_2.SYMBOL) AS table_min
我想獲得47條記錄,其品牌和產地不同,所以我嘗試下面的SQL,但它似乎沒有正常工作
select * from (SELECT CAR_1.ID FROM CAR_1, CAR_2 WHERE
CAR_1.ID = CAR_2.ID AND
CAR_1.MODEL = CAR_2.MODEL AND
CAR_1.SYMBOL = CAR_2.SYMBOL AND
CAR_1.MAKE = CAR_2.MAKE AND
CAR_1.ORIGIN = CAR_2.ORIGIN) AS table_all
WHERE NOT EXISTS(
(SELECT CAR_1.ID FROM CAR_1, CAR_2 WHERE
CAR_1.ID = CAR_2.ID AND
CAR_1.MODEL = CAR_2.MODEL AND
CAR_1.SYMBOL = CAR_2.SYMBOL) AS table_min
WHERE table_all.ID = table_min.ID
)
如果我將不勝感激有人可以告訴我的錯誤
有沒有可能使得和起源是'NULL'? – vulkanino 2012-02-03 16:01:09