Таблица 1 и таблица 2 имеют одинаковые первичные ключи (key1, key2). Таблица 3 - это определяемая пользователем таблица с одним столбцом field5, общим для table2. Мне нужно выбрать строки из таблицы 1 и таблицы 2, где field5 в table2 находится в table3. Мне нужно получить строки в том же порядке, что и в таблице 3.
ключ1 ключ2 поле1 поле2
ключ1 ключ2 поле3 поле4 поле5
поле5
я думаю, запрос
select a.key1, a.key2, a.field1, a.field2, b.field3, b.field4
from table1 as a INNER JOIN table2 as b ON a.key1 = b.key1 AND a.key2 = b.key2
where b.field5 in (select field5 from table3)
не даст мне строк в том же порядке, что и в таблице 3.
Мне нужно что-то подобное для поддержания порядка?
select a.key1, a.key2, a.field1, a.field2, d.field3, d.field4 from
table1 as a INNER JOIN
(select b.key1, b.key2, b.field3, b.field4
from table2 as b INNER JOIN table3 as c
ON b.field5 = c.field5) as d
WHERE a.key1 = d.key1 AND a.key2 = d.key2