2012-01-24 60 views
0

三個商店購買三個Mysql表中記錄的年份。有沒有一個簡單的SQL語句來找出哪些商品是由另外兩家商店購買的?唯一的辦法是通過多次SQL語句和比較來做到這一點。任何幫助將受到歡迎。SQL用於比較一個表唯一的三個表和列表記錄

表A,B,C - 記錄名單= A - (ABC) - (AB) - (AC)

+0

是否每個店有它自己的表?要更明確地表明你有問題 –

回答

0

的語法,特別是關於級聯,絕對應該是錯誤的(沒有辦法,我要測試),但你可以試試這個概念:

SELECT itemId From A Where itemId Not In (Select Concat(itemId,',') From B Union Select Concat(itemId,',') From C) Union SELECT itemId From B Where itemId Not In (Select Concat(itemId,',') From A Union Select Concat(itemId,',') From C) Union SELECT itemId From C Where itemId Not In (Select Concat(itemId,',') From B Union Select Concat(itemId,',') From A)

+0

的問題寫了實際運行的僞代碼,不敢相信它:)只測試了它持續了半小時的iPhone,但它的工作 - 至少與整數類型的itemId。查詢(應該是相同的,但在移動設備上驗證過於困難):'SELECT itemId from A where itemId Not In(選擇Concat(itemId,',')from B UNION SELECT CONCAT(itemId,',')From C) 工會 SELECT的itemId從B,其中的itemId不在(選擇的毗連(的itemId, '')從UNION SELECT CONCAT(的itemId, '')從C) 工會 SELECT的itemId從C其中的itemId不在(選擇的毗連(itemId,',')從B UNION SELECT CONCAT(itemId,',')從A)' – pong