使用下表结构,我需要使用位置名称作为查找值,将行ID插入到批准的表中。我该怎么做呢?
我开始使用以下代码,但它没有做太多。在SQL连接上没那么好,所以非常感谢任何帮助。
UPDATE dbo.Approved
SET dbo.Approved.Groupid=dbo.Lines.ID
FROM dbo.Lines,dbo.Approved, dbo.Locations
WHERE dbo.Approved.Location = dbo.Locations.Location_Name
已批准
ID (PK) | Incident | Location | GroupID
--------------------------------------------------------
1 | Theft of luggage |Oxford Circus | Null
2 | Theft of bag |Kings Cross | Null
行
ID (PK) | Line_Name |
--------------------------
1 | Central |
2 | Northern |
3 | Circle |
位置
ID (PK) | Location_Name | LineID
---------------------------------
1 | Oxford Circus |1
2 | Kings Cross |2
3 | Victoria |3
答案 0 :(得分:2)
我建议你这样做:
UPDATE t1.Approved
SET t1.Groupid = t2.ID
FROM dbo.Approved t1
INNER JOIN dbo.Locations t2 ON t1.Location = t2.Location_Name
您不需要Lines表,因为您要插入的内容最后只是LineID而不是Line_Name。
希望它可以提供帮助,