Я пытаюсь создать представление в Redshift, чтобы мы могли видеть последние данные в каждой таблице. У нас есть наборы данных, которые обновляют различные расписания, и у каждой таблицы есть столбец «обновлено», который содержит метку даты последнего обновления строк.
То, что я хочу достичь, - это представление внизу (из этих двух таблиц примера ):
other.bigtable
+-----+--------+------------------+
| id | stat | updated |
+-----+--------+------------------+
| A2 | rgerhg | 03/05/2020 05:00 |
| F5 | bdfb | 03/05/2020 05:00 |
| GF5 | bb | 03/05/2020 05:00 |
+-----+--------+------------------+
default.test
+----+------+------------------+
| id | name | updated |
+----+------+------------------+
| 1 | A | 02/02/2008 00:00 |
| 2 | B | 02/02/2008 00:00 |
| 3 | C | 02/02/2008 00:00 |
| 4 | F | 02/02/2008 00:00 |
| 5 | T | 02/02/2010 00:00 |
+----+------+------------------+
default.view_updates
+---------+------------+------------------+
| schema | table_name | max_update |
+---------+------------+------------------+
| default | test | 02/02/2010 00:00 |
| other | big_table | 03/05/2020 05:00 |
+---------+------------+------------------+
Пока я получаю таблицы и схемы, но понятия не имею, с чего начать с дат. Redshift кажется немного более ограниченным.
EDIT:
Использование некоторого кода, украденного из Интернета, я надеялся использовать это для создания таблицы для дополнительного столбца:
select t.table_schema,
t.table_name
from information_schema.tables t
inner join information_schema.columns c
on c.table_name = t.table_name
and c.table_schema = t.table_schema
where c.column_name = 'updated'
and t.table_schema not in ('information_schema', 'pg_catalog')
and t.table_type = 'BASE TABLE'
order by t.table_schema;
[Источник: https://dataedo.com/kb/query/amazon-redshift/find-tables-with-specific-column-name]