Как добавить новый столбец в таблице доступа MS с этим критерием - PullRequest
1 голос
/ 05 марта 2010

у меня есть две таблицы msaccess

TABLEA

textA numA
bd    1
as    0
aa    2
cc    4

TableB

textB 
ss
aa
bd
as

как написать SQL-запрос для добавления одного столбца с именем numB в таблицу B, чтобы итоговая таблица B была

таблица B (в основном выборка значений из таблицы A)

textB  numB
ss     0      ( because ss is not there in table A )
aa     2
bd     1
as     0

Ответы [ 2 ]

2 голосов
/ 05 марта 2010

Этот SQL создаст новую таблицу с именем tblFooC

SELECT tblFooB.TextB, nz([NumA],0) AS Expr1 INTO tblFooC
FROM tblFooB LEFT JOIN tblFooA ON tblFooB.TextB = tblFooA.TextA;

Затем вы можете удалить таблицу tblFooB и переименовать tblFooC в tblFooB

0 голосов
/ 05 марта 2010

Вы не можете сделать это в одном запросе. Вы можете создать TableC из таблиц A и B, а затем переименовать и / или удалить так, чтобы таблица C стала таблицей B, или вы можете выполнить запрос DDL, чтобы добавить столбец в таблицу B. Я предлагаю второй вариант.

Чтобы добавить столбец:

ALTER TABLE TableB ADD COLUMN NumB Integer

Для обновления:

UPDATE TableA 
RIGHT JOIN TableB ON TableA.TextA = Tableb.TextB 
SET TableB.BumB = Nz([NumA],0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...