2014-03-31 30 views
0

在MS Access中,是否可以在SELECT语句中使用VALUES子句?例如:在具有MS Access的SELECT语句中使用VALUES-clause

SELECT 1 FROM (VALUES(1)) AS FOOBAR 

这适用于DB2,而是试图在MS Access 2010中执行上述语句时,它突出了字VALUES并弹出一个消息框,说:“的SyntaxError FROM子句”

+0

我不知道答案,但如果它是“否”,那么另一种构建“就地”表(MS Access也可能不支持...)的方法是使用“UNION ALL”: 'SELECT ... FROM(SELECT'r1c1','r1c2'UNION ALL SELECT'r2c1','r2c2'UNION ALL SELECT'r3c1','r3c2'...)'。 –

回答

2

据我所知,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并添加一行到它。

+0

不是太糟糕,但有什么可以在两个平台上工作吗?我需要这个包装,它应该可以同时用于DB2和MS Access,我不希望根据执行的平台有不同的语句。 –

+0

查看最新的答案。有一个解决方法可用于此。 –

+0

相当难看,但它会工作。 –