SQL для сравнения трех таблиц и списка записей, уникальных для одной таблицы - PullRequest
0 голосов
/ 24 января 2012

Три магазина покупают товары за год, записанные в трех таблицах Mysql. Существует ли простая инструкция SQL, чтобы узнать, какие товары приобретены в магазине, но не куплены ни одним из двух других? Только так я мог сделать это, сделав несколько операторов SQL и сравнений. Любая помощь будет приветствоваться.

Таблицы A, B, C - Список записей = A - (A.B.C) - (A.B) - (A.C)

1 Ответ

0 голосов
/ 24 января 2012

Синтаксис, особенно касающийся конкатенации, определенно должен быть неправильным (я не могу проверить), но вы можете попробовать эту концепцию:

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)

...