Mam prostą strukturę tabeli, taką jak ta:
Tabela tempData
╔══════════╦═══════╗
║ NAME ║ MARKS ║
╠══════════╬═══════╣
║ Narendra ║ 80 ║
║ Ravi ║ 85 ║
║ Sanjay ║ 90 ║
╚══════════╩═══════╝
Mam też inne nazwy tabel, takie jak tempDataView
╔══════════╦═══════╗
║ NAME ║ MARKS ║
╠══════════╬═══════╣
║ Narendra ║ ║
║ Narendra ║ ║
║ Narendra ║ ║
║ Narendra ║ ║
║ Ravi ║ ║
║ Ravi ║ ║
║ Sanjay ║ ║
╚══════════╩═══════╝
Chcę zaktualizować tabelę tempDataView , ustawiając znaczniki zgodnie z tempDataView - Nazwa w porównaniu z tempData - Nazwa
Tak, pozwól, że pokażę ci, czego próbowałem, próbowałem rozwiązać to za pomocą kursora i zostało rozwiązane idealnie, ale znajduję sposób, aby rozwiązać to za pomocą podzapytania
Oto ona:
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
Właściwie to jak praca domowa, aby rozwiązać to za pomocą podzapytania.