讓人有些困惑IS,它的工作原理下飛機,但不工作在訪問....UNION JOIN和MS-ACCESS
如何做好內與工會
SELECT field1, field2 FROM
(SELECT field1, field2, field3 FROM table1
JOIN table3 ON table1.id=table3.id
UNION ALL
SELECT field1, field2, field3 FROM table2
JOIN table4 ON table2.id=table4.id)
WHERE field3=1
連接的結果:
3131 - 「語法錯誤在FROM子句」
我減少成:
SELECT field1 FROM
(SELECT field1, field3 FROM table1
UNION ALL
SELECT field1, field3 FROM table2)
WHERE field3=1
,但仍然沒有工作
即使是這樣:
SELECT * FROM
(SELECT field1 FROM table1
UNION ALL
SELECT field1 FROM table2)
不起作用
SELECT field1 FROM table1 UNION ALL SELECT field1 FROM table2
- 工程....
你的意思是「在Jet中工作,但不在Access中」?你是否使用ODBC或OLEDB或DAO從外部訪問?重要的是,如果使用不同的接口訪問數據(通配符,派生表語法,保留字等),則SQL的語法中會有很多變化。 –
它意味着我寫的東西。當我使用「訪問控制檯」時 - 相同的代碼響應語法錯誤。當我使用ODBC時 - 相同的代碼工作。 –
你是什麼意思「訪問控制檯」?你的意思是當你在Access中打開數據庫時?當然,ODBC將會是一個不同的環境,並且對SQL的執行有着完全不同的規則。你想在哪裏工作? ODBC或內部訪問?如果兩者都有,那麼你可能必須有條件的構建你的SQL。 –