我是 SQL Server 的新手,我有這兩個表:
StudentTable | ClassTable
StudentId | ClassId
StudentCode | StudentCode
StudentName | Class
Class |
目前的StudentTable記錄是這樣的:
StudentId StudentCode StudentName Class
-------------------------------------------------
1 20221452 James Daniels Null
和ClassTable記錄看起來像
ClassId StudentCode Class
----------------------------------
1 20221452 A
我想知道是否可以為匹配的類StudentCode進行ClassTable更新StudentCode選擇StudentTable
我試過這個陳述句,但它看起來非常錯誤,只是拋出了一個語法錯誤
INSERT INTO [StudentTable](Class)
SELECT Class
FROM [ClassTable ]
WHERE StudentCode IN ([StudentTable]) = StudentCode in ([ClassTable])
編輯:原來我正在尋找更新,因為我目前有一些記錄
uj5u.com熱心網友回復:
可以使用 EXISTS 關鍵字
insert into [StudentTable](Class)
select Class
FROM [ClassTable ]
WHERE EXISTS(SELECT 1 FROM [StudentTable] WHERE StudentTable.StudentCode = ClassTable.StudentCode)
有關 EXISTS 關鍵字的更多資訊,請閱讀此EXISTS
如果要使用 IN 關鍵字,可以在 IN 關鍵字之后撰寫子查詢。
uj5u.com熱心網友回復:
如果我正確理解了您的問題,您可以輕松使用 join 。
insert into [StudentTable] (Class)
select class from studentable join classtable on
studentable.StudentCode =classtable.StudentCode
uj5u.com熱心網友回復:
我想到了
UPDATE StudentTable
SET StudentTable.Class=ClassTable.Class
FROM StudentTable, ClassTable
WHERE StudentTable.StudentCode=ClassTable.StudentCode;
謝謝大家
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/507790.html
