Я новичок в использовании Pivot в SQL и столкнулся с некоторыми проблемами.SQL Pivot "Неверный синтаксис рядом с ключевым словом" PIVOT "."
Я постоянно получаю сообщение об ошибке, когда я пытаюсь встроить сводную таблицу в свой запрос Select, и, несмотря на часы чтения нескольких веб-страниц, я не могу понять, как это понять.
Я работаю над панелью-db, которая будет содержать несколько сводных таблиц (5) в запросе, по одному для каждой информационной панели. Это возможно?
Ошибка я получаю:
Msg 156, Level 15, State 1, Line 38 Неправильный синтаксис около 'PIVOT' ключевых слов.
Мой запрос выглядит следующим образом
SELECT
/* Query for dashboard 1 **/
[ProjectUID] AS [Project UID],
[ + 8 Regular selects not related to the pivot ]
/* Query for dashboard 2 **/
[...]
/* Query for dashboard 3 **/
[...]
/* Dashboard WOWs */
(SELECT * FROM [PB_Customer])
PIVOT
(
COUNT (MValue)
for MValue
in (
[Customer],
[MNeeds],
[Bousa],
[backbook]
)
) AS pvt_table_wow
FROM [Table 1], [Table 2], [Table 3]
WHERE Table1.ProjectUID=.Table2PROJECTUID
AND Table2.[Ping] IS NOT NULL
AND Table2.[Bousa] NOT IN ('0')
AND Table1.ProjectUID=Table3.PUID;
Может кто-нибудь мне помочь?
Вы не можете использовать '*' в стержне. Вам нужно будет указать имена столбцов и псевдоним - посмотрите на это -> https://technet.microsoft.com/en-us/library/ms177410%28v=sql.105%29.aspx – Hogan
Просто из того, что вы показали , там должен быть ОТ до/* Dash board WOWs * /. В частности, где, зависит от запроса. Проверь это. https://msdn.microsoft.com/en-us/library/ms177410.aspx – DVT
вы не накладываете свой подзапрос над ним, но, возможно, это или не предполагается, что он является суб-запросом, трудно сказать так как у вас есть другое предложение FROM и WHERE ниже pivot ... опубликуйте весь свой код, и он может пролить некоторый свет. – scsimon