У меня есть таблица PostgreSQL, в которой хранятся атрибуты разных физических объектов. Она имеет следующие поля:Создать широкий вид таблицы базы данных в PostgreSQL
object_name
attr_name (string e.g. attr_1, attr_2 etc.)
attr_value (number)
date_modified (date)
priority (integer)
Там может быть много различных значений для одной и той же attr_name
, которые будут добавлены в разное время и с разным уровнем приоритета (представляющего точность источника), так что мне нужна эта структура для прослеживаемости позже.
Я хотел бы создать представление этой таблицы, чтобы я мог эффективно его обработать для нескольких (~ 100) атрибутов, например.
SELECT * FROM View1 WHERE attr_1 = 5 and attr_2 > 3 etc.
Так что для того, чтобы сделать это, я думаю, что нужно представление с таких областях, как:
object_name
attr_1
attr_2
etc.
attr_x
Каждый атрибут должен содержать наивысший приоритет версию атрибута из исходной таблицы. Кто-нибудь знает как это сделать? Я знаю только базовый SQL, поэтому я даже не знаю, что это называется, или если это возможно. Кто-нибудь делал это раньше, в любой базе данных SQL-типа? Я бы хотел, если бы не было двух отдельных таблиц. Рад принять любое другое решение, которое выполняет как отслеживаемость, так и требования быстрого запроса.
Пример данных и желаемых результатов будет полезной, объясняя, что вам нужно –