Если у меня есть структура вроде этого:Oracle найти общее значение в двух разных колонках
CREATE TABLE things (
id,
personA varchar2,
personB varchar2,
attribute ...,
)
И я хочу найти, для данного атрибута, если у меня есть по крайней мере 1 общего человек для всех моих вещей, как я могу это сделать?
Так что, если мои данные (и это может быть больше, чем 2 на атрибут):
1, John, Steve, Apple
2, Steve, Larry, Apple
3, Paul, Larry, Orange
4, Paul, Larry, Orange
5, Chris, Michael, Tomato
6, Steve, Larry, Tomato
Для Apple, Стив мой обычный человек, для Orange Павел и Ларри есть, и для томата у меня есть нет простых людей. Однако мне не нужен запрос, который возвращает все эти данные одновременно. У меня есть один из этих атрибутов и хочу 0, 1 или 2 строки в зависимости от того, какая у меня общность. Я пытался что-то придумать, но не могу понять.
Вам нужно «САМОЕ ПРИСОЕДИНЕНИЕ». Если вам не нужны все совпадения в одном запросе, вы можете указать конкретный атрибут как часть выражения 'ON' или отфильтровать его с помощью WHEN после этого. –