我想做一個查詢在MS Access 2003中(或只是在VBA SQL)這將有IN子句元組,即工作,元組在MS Access IN子句2003
我必須列出年和月,我想提取例如2010-10和2012-03使用IN條款。在Postgres比較它看起來像
SELECT * FROM my_table WHERE (year, month) IN (("2010","10"),("2012","03"));
但它不適用於我在Access中。是的,我同時存儲文本,但它確實沒有關係。
我知道我可以把它使用許多和和OR,或作出LEFT JOIN用臨時表寫。但是這些查詢是以編程方式創建的,所以我想盡可能簡單。
如果用單引號代替雙引號那麼你的SQL與SQL標準。不幸的是,Access甚至不符合入門級SQL:2000,並且不支持該語法([它在SQL Server上不受支持](http://connect.microsoft.com/SQLServer/feedback/details/299231/add -support-for-ansi-standard-row-value-constructors)或者)。 – onedaywhen 2012-02-21 10:07:22
...但是,我認爲你有一個設計問題。您似乎正在使用兩種'text'類型的屬性來建模一個月的時間。考慮使用時態數據類型,或許與[日曆表](http://sqlserver2000.databases.aspfaq.com/why-should-i-consider-using-an-auxiliary-calendar-table.html)結合使用,但很難根據單個查詢給出好的建議;) – onedaywhen 2012-02-21 10:17:56
沒有太多的設計。這是一個快速的任務,我需要創建一個像上面那樣工作的查詢。當然,我可以將所有東西都導入到Postgres中,但創建表格等比將文件導入Access需要更長的時間。因此,我想知道是否有可能製作這種WHERE clouse。 – 2012-03-01 23:13:43