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

Откуда:
Сообщений: 244
У меня есть таблица из 3-х колонок (Name, FileName, Data), я вставляю данные так:
Insert Into MyTable (Name, FileName) Output Inserted.ID Values(@Name, @FileName)

После вставки я знаю ID строки (@MyID) и мне надо вставить в 3-е поле (обновить его) некое значение из другой таблицы, которая не связана с MyTable, что-то на подобии:
Update MyTable Set Data = (Select Top 1 FileData From OtherTable Where ID = @OtherID) Where ID = @MyID

Как это сделать?
1 ноя 18, 11:07    [21721221]     Ответить | Цитировать Сообщить модератору
 Re: Обновить колонку из другой таблицы без Join  [new]
uaggster
Member

Откуда:
Сообщений: 827
Qwe.Qwe1, а в чем проблема?

Update a 
Set Data = t.FileData
From MyTable a
 Cross apply (Select Top 1 FileData From OtherTable Where ID = @OtherID) t
 Where ID = @MyID


Ну, я б еще сортировку в выражение с топ 1 добавил, ибо нефиг.
1 ноя 18, 12:16    [21721327]     Ответить | Цитировать Сообщить модератору
 Re: Обновить колонку из другой таблицы без Join  [new]
Qwe.Qwe1
Member

Откуда:
Сообщений: 244
Круто! Взял на заметку.
Я так переделал:
Insert Into MyTable (Name, FileName, Data) Output Inserted.ID Select Top 1 @Name, @FileName, FileData From OtherTable Where ID = @OtherID
1 ноя 18, 12:27    [21721343]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить