Обновить запрос с помощью подзапроса в Sql Server
У меня есть простая структура таблицы, как это:
ТаблицаTempData
╔══════════╦═══════╗
║ NAME ║ MARKS ║
╠══════════╬═══════╣
║ Narendra ║ 80 ║
║ Ravi ║ 85 ║
║ Sanjay ║ 90 ║
╚══════════╩═══════╝
И у меня также есть другие имена таблиц, какtempDataView как это
╔══════════╦═══════╗
║ NAME ║ MARKS ║
╠══════════╬═══════╣
║ Narendra ║ ║
║ Narendra ║ ║
║ Narendra ║ ║
║ Narendra ║ ║
║ Ravi ║ ║
║ Ravi ║ ║
║ Sanjay ║ ║
╚══════════╩═══════╝
Я хочу обновить таблицуtempDataView , установивМетки в соответствии сtempDataView -название по сравнению сtempData -название
Да, позвольте мне показать вам, что я пытался, я пытался решить эту проблему с помощью курсора, и она решена отлично, но я нахожу способ решить эту проблему с помощьюSubquery
Вот:
Declare @name varchar(50),@marks varchar(50)
Declare @cursorInsert CURSOR
set @cursorInsert = CURSOR FOR
Select name,marks from tempData
OPEN @cursorInsert
FETCH NEXT FROM @cursorInsert
into @name,@marks
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE tempDataView set marks = @marks where name = @name
FETCH NEXT FROM @cursorInsert
INTO @name,@marks
END
CLOSE @cursorInsert
DEALLOCATE @cursorInsert
На самом деле этоМне как домашнее задание, чтобы решить его с помощью подзапроса.