Sql server 使用同一表的另一列更新表的一列
我有两张表:车辆表和车辆组表Sql server 使用同一表的另一列更新表的一列,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我有两张表:车辆表和车辆组表 车辆表-->包含列-->车辆ID、组名、组ID 车辆组表-->包含列-->组ID、组名称 我想通过将vehicle\u group\u表连接到其公共groupname列来更新vehicle\u表的groupid列 UPDATE vehicle_table SET vehicle_table.groupid = vehicle_group_table.groupid WHERE vehicle_table.groupname = vehicle_
- 车辆表-->包含列-->车辆ID、组名、组ID
- 车辆组表-->包含列-->组ID、组名称
UPDATE vehicle_table
SET vehicle_table.groupid = vehicle_group_table.groupid
WHERE vehicle_table.groupname = vehicle_group_table.groupname
但这似乎不起作用。您可以在场景中应用以下语法: 更新目标 从SourceTable 设置TargetTableField=SourceTable.SourceTableField
其中TargetTable.Field=TargetTable.Field 您可以在场景中应用以下语法: 更新目标 从SourceTable 设置TargetTableField=SourceTable.SourceTableField 其中TargetTable.Field=TargetTable.Field 试试这个:-
Update vt
Set vt.groupiid = vgt.groupid
from vehicle_table vt
inner join vehicle_group_table vgt
on vt.groupname = vgt.groupname
试试这个:-
Update vt
Set vt.groupiid = vgt.groupid
from vehicle_table vt
inner join vehicle_group_table vgt
on vt.groupname = vgt.groupname
您需要通过联接将这两个表关联起来。还有其他的子查询方法等
注意:不要像其他答案中建议的那样在SET子句的destination/target列中使用别名。它在SQL Server中失败,而不是在SQL Server 2012中,因此我认为行为发生了变化
对于更复杂的设置:
您需要通过联接将这两个表关联起来。还有其他的子查询方法等
注意:不要像其他答案中建议的那样在SET子句的destination/target列中使用别名。它在SQL Server中失败,而不是在SQL Server 2012中,因此我认为行为发生了变化
要了解更复杂的设置:试试
UPDATE A SET A.groupid = B.groupid
FROM vehicle_table A INNER JOIN vehicle_group_table B ON
A.groupname = B.groupname
试试看
UPDATE A SET A.groupid = B.groupid
FROM vehicle_table A INNER JOIN vehicle_group_table B ON
A.groupname = B.groupname
试试这个:
UPDATE a set a.groupid =b.groupid
from vehicle_table a
inner join
vehicle_group_table b
on a.groupname = b.groupname
试试这个:
UPDATE a set a.groupid =b.groupid
from vehicle_table a
inner join
vehicle_group_table b
on a.groupname = b.groupname
你能详细说明“但这似乎不起作用”吗?什么错误信息?您能否详细说明“但这似乎不起作用”?什么错误消息?这不是SQL Server语法这不是SQL Server语法