Я написал запрос, и здесь ниже я упомянул.Как получить первое значение для столбца в базе данных Oracle?
SELECT P.PERSON_ID,
P.BIRTH_DATE,
P.GENDER_CODE,
LISTAGG(R.RACE_CODE, ',') WITHIN GROUP(ORDER BY R.RACE_CODE) AS RACE_CODE,
P.HISPANIC_LATINO_CODE,
C.CLINICALLY_DIAGNOSED_CODE,
LISTAGG(C.CHARACTERISTIC_CODE, ',') WITHIN GROUP(ORDER BY C.CHARACTERISTIC_CODE) AS CHARA_CODES,
P.PREV_ADOPTED_CODE,
P.AGE_ADOPTED,
PE.REMOVED_DATE
FROM PERSON P
LEFT OUTER JOIN RACE R
ON P.PERSON_ID = R.PERSON_ID
LEFT OUTER JOIN CHARACTERISTIC C
ON C.PERSON_ID = P.PERSON_ID
LEFT OUTER JOIN PLACEMENT_EPISODE PE
ON P.PERSON_ID = PE.CHILD_ID
GROUP BY P.PERSON_ID,
P.BIRTH_DATE,
P.GENDER_CODE,
P.HISPANIC_LATINO_CODE,
C.CLINICALLY_DIAGNOSED_CODE,
P.PREV_ADOPTED_CODE,
P.AGE_ADOPTED,
PE.REMOVED_DATE
Здесь я хочу изменить свой запрос так, чтобы он получал только первое значение для pe.removed_date.
Я прочитал о FIRST() функции here. Но я не могу изменить свой запрос на использование функции FIRST().
Пусть таблица PERSON держит person_id 1,2,3-х ... И PLACEMENT_EPISODE имеет значения, как:
person_id removed_date
1 d1_1
2 d2_1
1 d1_2
3 d3_1
2 d2_2
1 d1_3
Так я хочу:
person_id removed_date
1 d1_1
2 d2_1
3 d3_1
child_id из PLACEMENT_EPISODE таблицы внешних ключей ссылки Первичные ключ person_id из таблицы PERSON.
Вы имеете в виду вы хотите, чтобы ограничить вывод одной строки на основе порядка 'pe.removed_date'? –
Для одного человека в таблице place_episode будет много удаленных_данных. Я хочу получить первое значение remove_date из таблицы place_episode для человека – Madhusudan
Вы не ответили на мой вопрос, каков ваш желаемый результат. Введите вход и желаемый выход. Также укажите версию Oracle. –