У меня проблемы с преобразованием сводной таблицы MS Access в SQL Server. Я надеялся, что кто-то может помочь ..
TRANSFORM First(contacts.value) AS FirstOfvalue
SELECT contacts.contactid
FROM contacts RIGHT JOIN contactrecord ON contacts.[detailid] = contactrecord.[detailid]
GROUP BY contacts.contactid
PIVOT contactrecord.wellknownname
;
Редактировать: Отвечая на некоторые комментарии
Таблица контактов имеет три поля
contactid | detailid | value |
1 1 Scott
contactrecord имеет что-то вроде
detailid | wellknownname
1 | FirstName
2 | Address1
3 | foobar
contractrecord является dyanamic в том смысле, что пользователь в любое время может создать поле для добавления в контакты
запрос на доступ извлекается
contactid | FirstName | Address1 | foobar
1 | Scott | null | null
, который является стержнем общеизвестного имени. Ключевым моментом здесь является то, что количество столбцов является динамическим, поскольку пользователь может в любое время создать другое поле для контакта. Будучи новичком в сводных таблицах, мне интересно, как я могу воссоздать этот запрос доступа на сервере SQL.
Что касается преобразования ... это встроенная функция доступа. Подробнее об этом можно узнать здесь . First () просто получит первый результат в соответствующей строке.
Я надеюсь, что это помогает, и ценю всю помощь.