2017-09-15 65 views
0

有人可以請幫助我一直得到此錯誤: 除非TOP,OFFSET或ORDER BY子句在視圖,內聯函數,派生表,子查詢和公用表表達式中無效FOR XML也被指定。 這是我正在使用的查詢:更新聲明與訂單由和where子句

UPDATE SMS 
SET idx30 = 'New' 
WHERE idx30 in 
(
    SELECT * 
    FROM SMS 
    WHERE idx30 IS NULL 
    AND (idx15 = 'Del' OR idx15 = 'Fail') 
    AND Idx13 <> '1' 
    AND Idx7 >= DATEADD(day, -1, GETDATE()) 
    ORDER BY idx7 DESC 
); 
+0

你真的使用該數據庫錯誤.. ????你標記的MySQL,但你的錯誤消息似乎爲Sql Server .. – scaisEdge

+0

對不起,應該只是sql –

+0

我不知道爲什麼你需要在您的查詢ORDER BY語句 –

回答

0

您可以更新符合條件的行。不需要子查詢或ORDER BY。

UPDATE SMS 
SET idx30 = 'New' 
WHERE (idx15 = 'Del' OR idx15 = 'Fail') 
    AND Idx13 <> '1' 
    AND Idx7 >= DATEADD(day, -1, GETDATE()) 
0

兩校在查詢是:

  1. 順序錯誤是由子句,因爲順序來查詢是語法錯誤裏面。

  2. 你寫*子查詢這將再次拋出的

Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.