Имеются три, типичные для EAV, таблицы:
CREATE TABLE EntityTypes (
Id [uniqueidentifier] NOT NULL,
EntityName [nvarchar](50) NOT NULL
);
CREATE TABLE EntityAttributes (
Id [uniqueidentifier] NOT NULL,
EntityTypeId [uniqueidentifier] NOT NULL,
AttributeName [nvarchar](50) NOT NULL
);
CREATE TABLE AttributeValues (
Id [uniqueidentifier] NOT NULL,
EntityAttributeId [uniqueidentifier] NOT NULL,
AttributeValue [nvarchar](max) NULL,
);
Таблица AttributeValues ссылается на EntityAttributes, которая, в свою очередь, ссылается на EntityTypes. С приведённой схемой, пользователь может создать новый тип сущности, указать для него произвольное количество свойств/атрибутов и сохранить значения этих атрибутов.
Можно ли создать для этих таблиц либо виртуальную таблицу (view), либо если это невозможно, то SQL запрос, который бы содержал имена атрибутов (EntityAttributes.AttributeName) в качестве столбцов? Вроде как для этих целей можно использовать PIVOT, но насколько я понял в этом случае необходимо знать значения "поворачиваемых" столбцов, а имена столбцов, в моем случае, неизвестны.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости