Предположим, у меня есть две таблицы Oracle SQL для моих счетов-фактур. INV_HEAD для адреса, даты, ... Затем у меня есть INV_POS для каждой позиции счета-фактуры.oracle sql сравнить результат два подзадачи
INV_HEAD
--------
id
date
adr_id
total
INV_POS
---------
id
he_id
pos
art_id
quantity
price
Я могу перечислить все счета-фактуры с
SELECT he.id, he.date, po.art_id, po.quantity, po.price
FROM INV_HEAD he
JOIN INV_POS po on po.he_id = he.id
Теперь я хочу, чтобы найти счета-фактуры с той же позиции, не обязательно в том же порядке. Как я могу это сделать?
В результате мне нужен только INV_HEAD.id всех счетов-фактур с одинаковыми позициями.
Здесь же данные выборки:
id | he_id | pos | art_id | quantity | price
1 | 1 | 1 | 1000 | 5 | 100.00
2 | 1 | 2 | 2000 | 10 | 5000.00
3 | 2 | 1 | 2500 | 2 | 1250.00
4 | 3 | 1 | 2000 | 10 | 5000.00
5 | 3 | 2 | 1000 | 5 | 100.00
Счет с he_id 1 и 3 имеют одинаковые позиции.
Ваш примерный запрос неверен для начала, потому что вы создаете перекрестное соединение между двумя таблицами. Вам нужно «ПРИСОЕДИНЯЙТЕ» их. –
Вы могли бы добавить определения таблиц для двух таблиц, а также образец вывода того, что вы хотите видеть. – davegreen100