У меня есть простая структура таблицы:
Таблица tempData
╔══════════╦═══════╗
║ NAME ║ MARKS ║
╠══════════╬═══════╣
║ Narendra ║ 80 ║
║ Ravi ║ 85 ║
║ Sanjay ║ 90 ║
╚══════════╩═══════╝
И у меня также есть другие имена таблиц как tempDataView, например
╔══════════╦═══════╗
║ NAME ║ MARKS ║
╠══════════╬═══════╣
║ Narendra ║ ║
║ Narendra ║ ║
║ Narendra ║ ║
║ Narendra ║ ║
║ Ravi ║ ║
║ Ravi ║ ║
║ Sanjay ║ ║
╚══════════╩═══════╝
Я хочу обновить таблицу tempDataView , установив метки в соответствии с tempDataView - Name по сравнению с tempData - Name
Да, позвольте мне показать вам, что я пробовал, я пытался решить эту проблему с помощью курсора, и он решил отлично, но я нахожу способ решить эту проблему с помощью подзапроса
Вот:
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
На самом деле, решить эту проблему с помощью подзапроса для меня как домашнее задание.