У меня есть таблица, как этотPivot Доступ к SQL
Index | FeatureType | FeatureExists
1 | BR | 0
1 | EI | NULL
1 | RD | NULL
1 | SEI | 0
1 | SNI | NULL
1 | SSI | 0
И я хотел бы, чтобы преобразовать его, как следующее:
Index | BR | EI | RD | SEI | SNI | SSI
1 | 0 | NULL | NULL | 0 | NULL | 0
Таким образом, есть код, который я использовал в моем приложении Microsoft Access:
TRANSFORM First(QueryFeatureLicenses.FeatureExists) AS PremierDeFeatureExists
SELECT QueryFeatureLicenses.Index AS [Index]
FROM QueryFeatureLicenses
GROUP BY QueryFeatureLicenses.Index
PIVOT QueryFeatureLicenses.FeatureType;
И это работает как шарм.
Но как преобразовать этот запрос с синтаксисом SQL? До сих пор»Я сделал это:
SELECT BR, EI, RD, SEI, SNI, SSI
FROM
(
SELECT FeatureType, FeatureExists
FROM QueryFeatureLicenses
) AS d
PIVOT
(
max(FeatureExists)
FOR FeatureType IN (BR,EI,RD, SEI,SNI,SSI)
) AS piv;
Но я всегда получаю следующее сообщение:
У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с 'Pivot ( макс (FeatureExists) ДЛЯ FeatureType IN (BR, EI, RD, SEI, SN' в строке 7
Любые идеи?