Во-первых, я не уверен, является ли заголовок наилучшим из вопросов. Любое лучшее предложение приветствуется. Моя проблема в том, у меня есть следующая таблица:Выбирайте строки на основе двух связанных значений столбца в одном выражении - ORACLE
+----+----------+-------+-----------------+ | ID | SUPPLIER | BUYER | VALIDATION_CODE | +----+----------+-------+-----------------+ | 1 | A | Z | 937886521 | | 2 | A | X | 937886521 | | 3 | B | Z | 145410916 | | 4 | C | V | 775709785 | +----+----------+-------+-----------------+
Мне нужно, чтобы показать ПОСТАВЩИК A и B, которые имеют ПОКУПАТЕЛЬ Z, X. Тем не менее, я хочу, чтобы это условие было один-к-одному отношения, а не один-ко-многим. То есть, для поставщика A, я хочу показать столбец с идентификатором: 1, 2. Для поставщика B я хочу показать только столбец 3. Следующий сценарий покажет Поставщик со всеми возможными покупателями (которые я не хочу):
SELECT *
FROM validation
WHERE supplier IN ('A', 'B')
AND buyer IN ('X', 'Z');
Это покажет следующие пары: (A, Z), (A, X), (B, Z). Мне нужно показать только следующее: (A, X) (B, Z) в одно заявление.
Желаемый результат должен быть такой:
+----+----------+-------+-----------------+ | ID | SUPPLIER | BUYER | VALIDATION_CODE | +----+----------+-------+-----------------+ | 2 | A | X | 937886521 | | 3 | B | Z | 145410916 | +----+----------+-------+-----------------+
Можете ли вы опубликовать желаемый результат в виде таблицы? –
В запросе, который вы написали, не будет выдаваться вывод, который вы предоставили для данных. Пара (B, X) (B, Z) не существует в таблице. – haki
@ PM77-1 Обновлено. Благодаря! – Hawk