Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 MSSQL. Не получается UPDATE с вложенным запросом SELECT.  [new]
braincord
Member

Откуда:
Сообщений: 2
Мне необходимо обновить в таблице данные, которые выбираю по критерию из этой же таблице.
Написал такой скрипт:

UPDATE LDMAIL t1
JOIN LDMAIL t2 ON t1.ID = t2.ID and t2.EXecAuditorID = 'параметр1'
SET t1.EXecAuditorID = t2.CREATORID
WHERE t1.CREATORID = 'параметр2'



выпадает ошибка:
Incorrect syntax near the keyword 't1'

Что я делаю не так? Просьба помочь разобраться.
29 янв 15, 05:56    [17187021]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL. Не получается UPDATE с вложенным запросом SELECT.  [new]
leov
Member

Откуда: С-Петербург
Сообщений: 616
braincord
Что я делаю не так? Просьба помочь разобраться.
почитайте хелп внимательно
вероятно вот так должно быть (только по синтаксису, в суть я не вникал)

UPDATE t1 SET t1.EXecAuditorID = t2.CREATORID
from LDMAIL t1
JOIN LDMAIL t2 ON t1.ID = t2.ID and t2.EXecAuditorID = 'параметр1'
WHERE t1.CREATORID = 'параметр2'
29 янв 15, 06:05    [17187025]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL. Не получается UPDATE с вложенным запросом SELECT.  [new]
leov
Member

Откуда: С-Петербург
Сообщений: 616
из set алиас забыл убрать
UPDATE t1 SET EXecAuditorID = t2.CREATORID
from LDMAIL t1
JOIN LDMAIL t2 ON t1.ID = t2.ID and t2.EXecAuditorID = 'параметр1'
WHERE t1.CREATORID = 'параметр2'
29 янв 15, 06:07    [17187026]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL. Не получается UPDATE с вложенным запросом SELECT.  [new]
Добрый Э - Эх
Guest
braincord
Что я делаю не так?
ты не читаешь документацию по используемому программному продукту. для начала ознакомься с принятым в MS SQL Server-е синтаксисом оператора update, вместо того, что бы изобретать собственный синтаксис
29 янв 15, 06:26    [17187040]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL. Не получается UPDATE с вложенным запросом SELECT.  [new]
braincord
Member

Откуда:
Сообщений: 2
Спасибо, как раз прочитал документацию и нашел решение здесь.
Зашел сюда, а тут уже ответы, оперативно. Огромное спасибо за ваши комментарии.

Я сделал так:

UPDATE t1
SET t1.EXecAuditorID = t2.CREATORID
FROM LDMAIL AS t1
JOIN LDMAIL AS t2 ON t1.ID = t2.ID and t2.EXecAuditorID = 'параметр1'
WHERE t1.CREATORID = 'параметр2'
29 янв 15, 06:36    [17187048]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить