Мне нужно получить определенные записи в TABLE_A - тогда вам нужно отобразить последний раз, когда строка была обновлена, - которая находится в TABLE_B (однако , есть много записей, которые коррелируют в TABLE_B). TABLE_A.PK TABLE_A является ID и ссылки на TABLE_B через TABLE_B.LINK, где схема будет:Необходимо получить все записи в таблице A и только один в таблице B, который является последним обновленным
TABLE_A
===================
ID NUMBER
DESC VARCHAR2
TABLE_B
===================
ID NUMBER
LINK NUMBER
LAST_DATE DATE
И фактические данные таблицы будут:
TABLE_A
===================
100 DESCRIPTION0
101 DESCRIPTION1
TABLE_B
===================
1 100 12/12/2012
2 100 12/13/2012
3 100 12/14/2013
4 101 12/12/2012
5 101 12/13/2012
6 101 12/14/2013
Итак, мне нужно что-то зачитывает:
Result
====================
100 DESCRIPTION0 12/14/2013
101 DESCRIPTION1 12/14/2013
Я попытался соединить различные способы, но ничего не похоже на работу:
select * from
(SELECT ID, DESC from TABLE_A WHERE ID >= 100) TBL_A
full outer join
(select LAST_DATE from TABLE_B WHERE ROWNUM = 1 order by LAST_DATE DESC) TBL_B
on TBL_A.ID = TBL_B.LINK;
Если у вас есть какой-либо выбор в этом вопросе, имя столбца DESC делает для некоторых жесткого читаемого SQL, так как это ключевое слово для ORDER BY. Заставляет меня хотеть сделать таблицу со столбцами «SELECT», «FROM», «ON», чтобы сделать SQL немного сложнее читать не-компьютеры. –