У меня есть две таблицы.
Таблица первая: ЛИЦО
|-----------|-----------|-------------------------|
| id | name | date_joined |
|-----------|-----------|-------------------------|
| 10 | Joe | 03/25/2018 |
|-----------|-----------|-------------------------|
| 20 | Sam | 01/01/2017 |
|-----------|-----------|-------------------------|
Таблица 2: ДЕЯТЕЛЬНОСТЬ
|--------------|----------------|--------------|------------------|
| Activity_Id | DESCRIPTION | PERSON_ID | DATE_STARTED |
|--------------|----------------|--------------|------------------|
| 500 | RUNNING | 10 | 05/25/2018 |
|--------------|----------------|--------------|------------------|
| 600 | BASEBALL | 10 | 07/25/2018 |
|--------------|----------------|--------------|------------------|
Существуют сотни строк для таблицы PERSON и тысячи строк для таблицы ACTIVITY. Некоторые объекты в таблицах PERSON отсутствуют в таблице ACTIVITY, в то время как некоторые объекты в таблице PERSON имеют несколько записей в таблице ACTIVITY.
Могу ли я создать представление, используя два запроса из этих двух таблиц, которые будут отображать person.id и activity.max (date_started)? и если person.id не имеет записей в таблице Activity, то person.date_joined перейдет в представление.
Или это должна быть процедура? У меня есть запросы, чтобы найти активность.max (date_started) и есть таблица, которую я создал (newTable), как таблица Person без столбца имени, но те же точные данные в столбцах Id и date_joined. Как бы я обновил его, чтобы иметь представление или таблицу с последней датой начала из таблицы активности и person_id. а если не просто показать person.date_joined
MERGE INTO newTable WITH (HOLDLOCK)AS R
USING (SELECT MAX(T.date_started), T.person_id
FROM activity T
WHERE (T.EVENT_TYPE_KEY IN (249)
) AS T
ON R.id = T.person_id
WHEN MATCHED THEN
update
set R.date_joined = T.date_started
и оператор слияния не завершен и, возможно, неверный синтаксис или что-то в этом роде, потому что он выдает ошибку.
База данных Oracle. Разработчик pl / sql, который мне сказали, работал на сервере sql?