База данных MS Access Несколько строк статических/постоянных данных

Так что это немного смешной вопрос, однако я не смог найти ответ нигде в Интернете!

У меня есть БД MS Access, которую я использую в Access 2016. Она получена от клиента и используется для предоставления данных для другой системы.

Во всяком случае, я пытаюсь издеваться над некоторыми данными базы данных, возвращаемыми из таблицы, без изменения данных базы данных. Итак, я решил, что просто выберу константы, как в SQL или любом другом языке БД.

Все, что я хочу вернуть, это 2+ строки данных для 3 столбцов.

Например. Имя, Значение, Цель aaa, 1, 2, bbb, 3, 4, ccc, 5, 6, ...

Я могу сделать: SELECT 'aaa' AS [Имя], 2 AS [Цель], 3 AS [Значение]

однако любая другая попытка, которую я использую для возврата более одной строки данных, просто дает мне ошибки. Я пробовал Unions, values(), множественный выбор и т. д., и ничего не работает.

Для здравомыслия, может ли кто-нибудь подтвердить, что это невозможно, или я что-то упускаю??

Огромное спасибо


person Del    schedule 07.06.2017    source источник


Ответы (2)


Вам даже не нужна специальная таблица. Вы можете захватить системную таблицу:

SELECT TOP 1 'aaa' AS [Name], 1 AS [Value]
FROM MSysObjects
UNION ALL
SELECT TOP 1 'bbb' AS [Name], 2 AS [Value]
FROM MSysObjects
person Gustav    schedule 07.06.2017
comment
Решение изменено на этот ответ, так как он более точно соответствует вопросу! Большое спасибо. - person Del; 07.06.2017

Выбрать без FROM — нестандартная функция Access, на нее лучше не полагаться. Вы можете делать то, что хотите, если создадите таблицу с одной строкой (tbl_Dual в примере), тогда вы можете выбрать такие константы:

SELECT 'aaa' AS [Name], 2 AS [Target], 3 AS [Value] from tbl_Dual
union all
SELECT 'bbb', 4, 5 from tbl_Dual
person Sergey S.    schedule 07.06.2017
comment
Так что это работает, если в таблице есть только 1 строка, как описано в ответе. Это требует изменения базы данных, что было одним из требований. Однако, похоже, других вариантов нет. (Не хотел модифицировать базу данных, так как мы не можем трогать производственную БД на месте. Однако для тестирования все должно быть в порядке.) Если используется таблица с x строками, предоставляется x строк констант. Например. пустая таблица = 0 строк. таблица w 57 строк = 57x строк констант. Помечено как ответ, так как я перехожу черту. Большое спасибо.! :) - person Del; 07.06.2017