как преобразовать результат запроса sql select в новую таблицу в ms доступ - PullRequest
12 голосов
/ 03 декабря 2009

как преобразовать результат запроса SQL в новую таблицу в msaccess?

Ответы [ 5 ]

13 голосов
/ 03 декабря 2009

Вы можете использовать подзапросы

SELECT a,b,c INTO NewTable 
FROM (SELECT a,b,c
FROM TheTable
WHERE a Is Null)
9 голосов
/ 03 декабря 2009

Вроде так:

SELECT    *
INTO      NewTable
FROM      OldTable
3 голосов
/ 04 декабря 2009

Сначала создайте таблицу с необходимыми ключами, ограничениями, проверкой домена, ссылками и т. Д. Затем используйте структуру INSERT INTO..SELECT для ее заполнения.

Не поддавайтесь соблазну SELECT..INTO..FROM конструкциями. Результирующая таблица не будет иметь ключей, поэтому фактически не будет таблицей вообще. Лучше начать с правильной таблицы, а затем добавить данные, например, будет легче ловить плохие данные.

В качестве примера того, как все может пойти не так с предложением SELECT..INTO: это может привести к появлению столбца, содержащего значение NULL, и в то время как после события вы можете изменить столбец на NOT NULL, механизм не заменит NULLs, поэтому вы получите столбец NOT NULL, содержащий NULL s!

Также рассмотрите возможность создания «просматриваемой» таблицы, например, используя CREATE VIEW SQL DDL вместо базовой таблицы.

1 голос
/ 03 декабря 2009

Если вы хотите сделать это через пользовательский интерфейс, вы также можете:

A) Создайте и протестируйте выбранный запрос. Сохрани это.

B) Создать запрос на создание таблицы. Когда вас спросят, какие таблицы отображать, выберите вкладку запроса и сохраненный запрос.

C) Назовите имя таблицы, которую вы хотите создать.

Г) Иди приготовь кофе (в зависимости от вкуса и размера стола)

0 голосов
/ 03 декабря 2009
Select *
Into newtable
From somequery
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...