Можно ли в запрос на добавление принудительно добавить значение?

_Вопрос?
Дата: 10.01.2012 14:51:16
Сам запрос:
INSERT INTO tmp_Main ( Характеристика, Значение )
SELECT x.[Характеристика], x.[Значение]
FROM [Лист1$] AS x IN '...ля-ля-ля.xls'[Excel 8.0;HDR=yes;IMEX=1;];
Как бы сделать так, чтобы появлялась в таблице ещё одна запись(её нет на листе Excel)?
Запись содержит только значение "ID" в поле 'Характеристика'.
Анатолий ( Киев )
Дата: 10.01.2012 15:03:50
Попробуйте так:
INSERT INTO tmp_Main ( Характеристика, Значение )
SELECT x.[Характеристика], x.[Значение]
FROM ([Лист1$] AS x IN '...ля-ля-ля.xls'[Excel 8.0;HDR=yes;IMEX=1;] UNION ALL SELECT TOP 1 'ID', Null FROM [Любая таблица]);

Строка добавится в конце. Предполагается, что поле Значение в tmp_Main допускает Null.
Можно и в начале, но тогда надо знать, какого типа поле "Значение" (и в БД, и в Excel).
_Вопрос?
Дата: 10.01.2012 15:29:02
Поля в tmp_Main текстовые.
такой запрос
INSERT INTO tmp_Main ( Характеристика, Значение )
SELECT x.[Характеристика], x.[Значение]
FROM ([Лист1$] AS x IN '...ля-ля-ля.xls'[Excel 8.0;HDR=yes;IMEX=1;] 
UNION ALL SELECT TOP 1 "ID" AS a, "" AS b
FROM Firms);
вызывает ошибку: "Ошибка синтаксиса в предложении JOIN"
Если скобки убрать(откуда они взялись. у меня их не было?):
INSERT INTO tmp_Main ( Характеристика, Значение )
SELECT x.[Характеристика], x.[Значение]
FROM [Лист1$] AS x IN '...ля-ля-ля.xls'[Excel 8.0;HDR=yes;IMEX=1;] 
UNION ALL SELECT TOP 1 "ID" AS a, "" AS b
FROM Firms;
тогда ошибка меняется: "Ошибка синтаксиса в предложении FROM"
_Вопрос?
Дата: 10.01.2012 15:34:31
Если в варианте "без скобок" вообще удалить первую строку, то получившийся запрос на выборку отрабатывает правильно
_Вопрос?
Дата: 10.01.2012 17:11:35
В итоге, сделал запрос на выборку(с объединением), а его уже засунул в запрос на добавление записей...
Громоздко, но работает