這是一個MyODBC錯誤,請參閱offical entry here。截至今天,它仍然是開放的...
[編輯]我找到了一個簡單的解決方案:myODBC只會理解查詢與一個UNION
(或UNION ALL
)。所以你必須用()
包裝UNION
的右邊部分。另外,你必須先結束每個查詢與;
,像這樣:
SELECT [Ordine numero] AS ordine, [data ordine] AS data, comm AS commessa
FROM [archivio globale]
WHERE [ordine numero] IS NOT NULL;
UNION ALL (
SELECT [numero ordine cliente] AS ordine, [data ordine cliente] AS data, numero AS commessa
FROM [ricambi]
WHERE [numero ordine cliente] IS NOT NULL;
UNION ALL
SELECT [numero ordine cliente] AS ordine, [data ordine cliente] AS data, numero AS commessa
FROM [trasferte]
WHERE [numero ordine cliente] IS NOT NULL
);
,當然還有,你必須採用同樣的方法來這一部分了。舉例來說,如果你需要一個更UNION ALL
在您查詢:
SELECT [Ordine numero] AS ordine, [data ordine] AS data, comm AS commessa
FROM [archivio globale]
WHERE [ordine numero] IS NOT NULL;
UNION ALL (
SELECT [numero ordine cliente] AS ordine, [data ordine cliente] AS data, numero AS commessa
FROM [ricambi]
WHERE [numero ordine cliente] IS NOT NULL;
UNION ALL (
SELECT [numero ordine cliente] AS ordine, [data ordine cliente] AS data, numero AS commessa
FROM [trasferte]
WHERE [numero ordine cliente] IS NOT NULL;
UNION ALL
SELECT [numero ordine cliente] AS ordine, [data ordine cliente] AS data, numero AS commessa
FROM [xxx]
WHERE [numero ordine cliente] IS NOT NULL
));
來源
2013-02-21 13:52:52
Pat
我複製上面的查詢(我使用Access),但我得到了同樣的錯誤1064 – user1732326
@ user1732326什麼數據庫,你的工作,你所標記的作爲MySQL的問題,但你現在說的是Access?每種產品的語法可能不同。請澄清。 – Taryn
方括號或反引號的結果相同;一個UNION ALL語句有效,兩個NOT – user1732326