1
我已經寫了三個工作SQL語句,我試圖用一個工會這樣的:由於支架安置,mysql union聲明失敗?
(SELECT * FROM articles WHERE date <= '2015-01-15' AND category='News')
UNION
(SELECT * FROM articles WHERE date <= '2015-01-15' AND subcategory='News')
ORDER BY date DESC LIMIT 5
UNION
SELECT * FROM articles WHERE Month(recurring) = '01' AND category='News' ORDER BY
recurring DESC LIMIT 5
的基本結構是什麼,我想諮詢一下:兩個初始查詢被聯合和按日期排序在一起。 然後第三個查詢,按單獨的列進行排序,然後合併到前兩個查詢中。
上面的查詢似乎工作正常,當我排序括號內的前2個查詢分開,但一旦我把它從括號中排序並將它們排序在一起失敗。
是由一個單獨的列排序,導致它失敗?我嘗試添加一組額外的括號來封裝前兩個語句以及排序順序,但沒有去。 以下是錯誤代碼:
您的SQL語法錯誤;檢查對應於您的MySQL服務器版本的手冊,以便在'UNION SELECT * FROM WHERE Month(recurring)='01'AND category ='News'at line 2附近使用正確的語法。
您是否嘗試在原始'UNION'周圍添加括號,直到第二個? '((選擇......限制5)UNION' – Baldvin 2015-01-15 16:49:34
是的,這是第一件事情之一。它確實將返回錯誤轉移到'在第1行',但相同的基本錯誤。 – user2067101 2015-01-15 17:04:03