Ich habe eine einfache Tabellenstruktur wie diese:
Tabelle tempData
╔══════════╦═══════╗
║ NAME ║ MARKS ║
╠══════════╬═══════╣
║ Narendra ║ 80 ║
║ Ravi ║ 85 ║
║ Sanjay ║ 90 ║
╚══════════╩═══════╝
Und ich habe auch andere Tabellennamen wie tempDataView wie diese
╔══════════╦═══════╗
║ NAME ║ MARKS ║
╠══════════╬═══════╣
║ Narendra ║ ║
║ Narendra ║ ║
║ Narendra ║ ║
║ Narendra ║ ║
║ Ravi ║ ║
║ Ravi ║ ║
║ Sanjay ║ ║
╚══════════╩═══════╝
Ich möchte die Tabelle aktualisieren tempDataView , indem Sie die Einstellung Marks auf die nach tempDataView - Namen verglichen mit TempData - Namen
Ja, lassen Sie mich Ihnen zeigen, was ich versucht habe. Ich habe versucht, dies mit dem Cursor zu lösen, und es ist perfekt gelöst, aber ich finde den Weg, es mit der Unterabfrage zu lösen
Hier ist es:
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
Eigentlich ist es für mich wie eine Hausaufgabe, sie mit der Unterabfrage zu lösen.