Что неверно в запросе insert ... select
pskovn
Дата: 11.02.2010 17:56:03
Задача: Есть две таблицы, берем значение из одной и ставим в другую, если его там еще нет. Если оно есть, то оставляем без изменений.
Я написала запрос
INSERT INTO tab1 (tab1.val1)
(SELECT tab2.val2
FROM tab2
WHERE tab2.val2 not in (select tab1.val1 from tab1))
Выдает ошибку 'Invalid column name 'tab1.val1'
Как исправить/переписать запрос чтобы работало? Помогите, пожалуйста
Паганель
Дата: 11.02.2010 17:59:11
не заключать select в скобки
Паганель
Дата: 11.02.2010 17:59:47
да, по теме
INSERT INTO tab1 (val1)
pskovn
Дата: 11.02.2010 18:04:27
INSERT INTO tab1(val1)
SELECT val2
FROM tab2
WHERE val2 not in (select val1 from tab1)
Ошибка та же :( Все также на первую строку :(
Referee
Дата: 11.02.2010 18:04:33
можно просто написать
... select val1 from tab1
pskovn
Дата: 11.02.2010 18:07:35
Referee,
к сожалению не поняла, где это можно написать. Поясните, плиз :)
pskovn
Дата: 11.02.2010 18:08:35
Referee,
если просо убрать все скобки у селектов, то ошибка Incorrect syntax near the keyword 'select'
Паганель
Дата: 11.02.2010 18:13:45
pskovn |
если просо убрать все скобки у селектов |
перестаньте выдумывать синтаксис, лучше прочтите его в
BOLи убедитесь, что Вы правильно ввели имена таблиц/полей, что Вы в нужной БД запрос выполняете...
pskovn
Дата: 11.02.2010 18:34:23
Паганель,
Спасибо, нашла ошибку в обращениях к таблице. А думала что ошибка в запросе, так что Вы мне очень помогли, спасибо :)
Кстати, в хелпе к сожалению про именно этот вариант ничего нет... И дело не в скобках - потому что в данном случае они на работу запроса не влияют
iap
Дата: 11.02.2010 19:51:17
pskovn,
val1 может принимать значение NULL?