在MS Access中,是否可以在SELECT
语句中使用VALUES
子句?例如:在具有MS Access的SELECT语句中使用VALUES-clause
SELECT 1 FROM (VALUES(1)) AS FOOBAR
这适用于DB2,而是试图在MS Access 2010中执行上述语句时,它突出了字VALUES
并弹出一个消息框,说:“的SyntaxError FROM子句”。
在MS Access中,是否可以在SELECT
语句中使用VALUES
子句?例如:在具有MS Access的SELECT语句中使用VALUES-clause
SELECT 1 FROM (VALUES(1)) AS FOOBAR
这适用于DB2,而是试图在MS Access 2010中执行上述语句时,它突出了字VALUES
并弹出一个消息框,说:“的SyntaxError FROM子句”。
据我所知,DB2中的values
语句使您能够实时创建行。
这在使用values
关键字的许多其他平台中是不可能的。
这是唯一可能的解决方案使用Access:
select 1 foo
union
all
select 2
这适用于DB2:
select 1 foo
from sysdummy1
union
all
select 2
from sysdummy1
你可以伪造这种行为在Access中创建一个虚拟表叫做sysdummy1
并添加一行到它。
不是太糟糕,但有什么可以在两个平台上工作吗?我需要这个包装,它应该可以同时用于DB2和MS Access,我不希望根据执行的平台有不同的语句。 –
查看最新的答案。有一个解决方法可用于此。 –
相当难看,但它会工作。 –
我不知道答案,但如果它是“否”,那么另一种构建“就地”表(MS Access也可能不支持...)的方法是使用“UNION ALL”: 'SELECT ... FROM(SELECT'r1c1','r1c2'UNION ALL SELECT'r2c1','r2c2'UNION ALL SELECT'r3c1','r3c2'...)'。 –