2014-09-25 104 views
-1

有人能告訴什麼是錯的查詢不正確的語法

SET @TUYEN_ID = (SELECT TOP 1 
        TUYEN_ID 
       FROM 
        (SELECT TOP (@i) 
         TUYEN_ID 
        FROM 
         @TUYENS 
        ORDER BY 
         TUYEN_ID ASC) 
       ORDER BY 
        TUYEN_ID DESC) 

回答

0

嘗試在查詢中使用別名:

SET @TUYEN_ID = (SELECT TOP 1 M.TUYEN_ID 
       FROM (SELECT TOP (@i) T.TUYEN_ID 
         FROM @TUYENS T 
         ORDER BY T.TUYEN_ID ASC) M 
       ORDER BY M.TUYEN_ID DESC) 

FROM語句沒有子查詢結果的別名,可能會導致第二個ORDER BY子句出現問題。

希望這將有助於

+0

它的工作,謝謝了很多 – 2014-09-25 05:40:24

+0

@VõVănMinh很高興聽到這個消息!我建議你總是使用別名以避免此類問題/衝突。它還增加了複雜查詢的可讀性 – 2014-09-25 05:42:09