2017-06-07 32 views
0

所以,这是一个有点荒谬的问题,但是,我一直无法在interwebs上的任何地方找到答案!微软Access数据库多行静态/常量数据

我有一个MS Access数据库,我在Access 2016中使用。它来自客户端并用于为另一个系统提供数据。

无论如何,我试图嘲笑从表中返回的一些数据库数据而不更改数据库数据。所以,我想我只是做一些常量选择,就像我在SQL或任何其他数据库语言中那样。

我想返回的所有数据是3列的2+行数据。

E.g. 名称,值目标 AAA,1,2, BBB,3,4, CCC,5,6​​,...

我可以这样做: SELECT 'AAA' AS [名称],2 AS [Target],3 AS [Value]

但是,我用来返回多行数据的任何其他尝试只会给我带来错误。 我试过工会,价值观(),多个选择等,似乎没有工作。

为了理智,有人可以确认这是不可能的,或者我错过了什么?

非常感谢

回答

1

你甚至都不需要自定义表。你可以劫持一个系统表:

SELECT TOP 1 'aaa' AS [Name], 1 AS [Value] 
FROM MSysObjects 
UNION ALL 
SELECT TOP 1 'bbb' AS [Name], 2 AS [Value] 
FROM MSysObjects 
+0

解决方案已更改为此答案,因为这更符合问题!万分感谢。 – Del

1

选择未经是访问的非标准功能,这将是最好不要依赖于它。你可以做你想做的,如果你创建一个表一行(tbl_Dual中的例子),那么你可以选择常数是这样的:

SELECT 'aaa' AS [Name], 2 AS [Target], 3 AS [Value] from tbl_Dual 
union all 
SELECT 'bbb', 4, 5 from tbl_Dual 
+0

所以这个工作,如果该表只有1行的答案中所述。这确实需要修改数据库,这是要求之一。但是,似乎没有其他选择。 (不想修改数据库,因为我们无法触及现场生产数据库,为了测试它应该没问题。)如果使用一个带有x行的表,则会提供x行常量。例如。空表= 0行。表w 57行= 57x行常量。标记为答案,因为它让我满意。非常感谢。! :) – Del