Ошибка синтаксиса запроса SQL Server 2005 - PullRequest
1 голос
/ 08 ноября 2010

У меня следующий запрос, и он выдает ошибку: «Неверный синтаксис рядом с ключевым словом« GROUP ».»<- показывает мне второе предложение GROUP BY ... Можете ли вы сказать мне, почему? </p>

SELECTventId
,TargetUser
,TargetDomain
,String05
,Amount
,max(Amount) maximum 
FROM
   (SELECT    EventId
              , TargetUser
              , TargetDomain
             , String05 
FROM  AdtServer.dvAll 
GROUP BY EventId, TargetUser, TargetDomain, String05)

GROUP BY EventId, TargetUser, TargetDomain, String05, Amount // ОШИБКА ПОКАЗЫВАЕТ ЗДЕСЬ

ЗАКАЗАТЬПо максимуму, TargetUser

Если я создаю представление для внутреннего запроса, оно работает нормально (но я не хочу создавать представление, потому что, если мой запрос выполняется долго, он дает мне время ожидания).

Ответы [ 2 ]

1 голос
/ 08 ноября 2010

Я нашел ответчик

Я должен был написать as tempTB Я имею в виду, что мой запрос должен выглядеть так:

SELECTventId
,TargetUser
,TargetDomain
,String05
,Amount
,max(Amount) maximum 
FROM
   (SELECT    EventId
              , TargetUser
              , TargetDomain
             , String05 
FROM  AdtServer.dvAll 
GROUP BY EventId, TargetUser, TargetDomain, String05) as tempTB
GROUP BY EventId,TargetUser,TargetDomain,String05,Amount 

ORDER BY maximum,TargetUser
1 голос
/ 08 ноября 2010

Вам нужно дать псевдоним вашей таблице:

SELECTventId 
,TargetUser 
,TargetDomain 
,String05 
,Amount 
,max(Amount) maximum  
FROM 
   (SELECT    EventId 
              , TargetUser 
              , TargetDomain 
             , String05  
    FROM  AdtServer.dvAll  
    GROUP BY EventId, TargetUser, TargetDomain, String05
    ) x
GROUP BY EventId,TargetUser,TargetDomain,String05,Amount 
ORDER BY maximum,TargetUser
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...