#mysql #sql #aggregate-functions #sql-view #union-all
#mysql #sql #агрегат-функции #sql-представление #объединение-все
Вопрос:
У меня есть много таблиц с одинаковыми столбцами в базе данных mysql.
Я хотел бы создать представление для хранения максимального значения одного из столбцов и имени таблицы.
Что-то вроде vw_max_table_vals Имя_таблицы Строка (100) maxVal метка времени
Как я могу это сделать в mysql.
С уважением
Комментарии:
1. Возможно, было бы лучше подумать, почему у вас есть несколько одинаковых таблиц.
Ответ №1:
Для фиксированного списка таблиц вы можете использовать union all
. Предполагая, что у вас есть три таблицы ( t1
, t2
и t3
) со столбцом под названием col
:
create view myview as
select 't1' as table_name, max(col) as max_col from t1
union all select 't2', max(col) from t2
union all select 't3', max(col) from t3
Обратите внимание, что для этого требуется, чтобы тип col
данных должен быть согласованным для трех таблиц.