實質上,我們有時(?)需要提供對錶的引用,即使我不需要它。例如。 Query input must contain atleast one table or query「查詢輸入必須包含至少一個表或查詢」錯誤 - 嵌套查詢,MS Access
我的問題是爲什麼查詢q1「SELECT 1」執行得很好,並給出了1行1列作爲值的結果表,但查詢q2「SELECT * FROM q1」產生上述錯誤?當我將q1更改爲「從dummy_table選擇1」,其中dummy_table是具有虛擬值的虛擬表,q2運行良好。
爲什麼q1的內部結構與q2有什麼關係? Q1本身的作品很好。是否q2「展開」q1,然後編譯語句 「SELECT * FROM(SELECT 1)」(它自己產生相同的錯誤)。我能以某種方式迫使Access不要窺探父母的內部結構嗎? 也爲什麼「SELECT * FROM(SELECT 1)」給出錯誤和「SELECT 1」工作正常?
謝謝你的回答。但爲什麼?這是什麼原因?它允許一些執行時間優化? – zaptask
我真的不知道爲什麼的答案。我懷疑單獨使用裸SELECT的支持相對容易實現。但是,將裸SELECT作爲另一個查詢的一部分來支持查詢語法分析器設計需要額外的額外開發工作,而MS認爲這是不值得的。但這只是猜測。你可能需要問MS。 – HansUp