关键字' ORDER'附近的语法不正确

时间:2014-01-24 06:37:05

标签: sql sql-server

我的应用程序正在生成此查询。有人可以告诉您查询有什么问题

     SELECT task_id, 
     Count(*) Unread 
     FROM   discussion 
     WHERE  NOT EXISTS (SELECT * 
                        FROM   discussion_read 
                        WHERE  discussion.discussion_id = 
                        discussion_read.discussion_id 
                        AND discussion_read.user_id = ? 
                        AND discussion.task_id IN 
                          ((SELECT TOP 1025 task.task_id 
                            FROM   task 
                            WHERE 
                          ( ( task.task_code = 'A3090' ) 
                            AND ( task.proj_id = 6511 ) )) 
                                                 ORDER  BY task.task_id ASC) 
              ) 
    GROUP  BY task_id 

2 个答案:

答案 0 :(得分:0)

试试这个: -

 SELECT task_id, 
 Count(*) Unread 
 FROM   discussion 
 WHERE  NOT EXISTS (SELECT * 
                    FROM   discussion_read 
                    WHERE  discussion.discussion_id = 
                    discussion_read.discussion_id 
                    AND discussion_read.user_id = ? 
                    AND discussion.task_id IN 
                      (SELECT TOP 1025 task.task_id   --Remove Extra braces
                        FROM   task 
                        WHERE 
                        task.task_code = 'A3090' 
                        AND  task.proj_id = 6511 
                        ORDER  BY task.task_id ASC -- It should be for Select Top statement
                        ) 

          ) 
GROUP  BY task_id 

答案 1 :(得分:0)

您的订单需要在)下面尝试

SELECT task_id, 
 Count(*) Unread 
 FROM   discussion 
 WHERE  NOT EXISTS (SELECT * 
                    FROM   discussion_read 
                    WHERE  discussion.discussion_id = 
                    discussion_read.discussion_id 
                    AND discussion_read.user_id = ? 
                    AND discussion.task_id IN 
                      ((SELECT TOP 1025 task.task_id 
                        FROM   task 
                        WHERE 
                      ( ( task.task_code = 'A3090' ) 
                        AND ( task.proj_id = 6511 ) ) 
                                             ORDER  BY task.task_id ASC)) 
          ) 
GROUP  BY task_id