我有两个表日历和客户表。日历表有一个“客户”列,其中客户表“ID”作为值。但不幸的是,这个日历客户字段值被错误地填充了其他值。两个表都有这些公共字段 Date、SeatingID 和 BusID。如何根据这些常用字段更新日历表客户字段?
下面是两个表的结构。
客户表
日历表
我有两个表日历和客户表。日历表有一个“客户”列,其中客户表“ID”作为值。但不幸的是,这个日历客户字段值被错误地填充了其他值。两个表都有这些公共字段 Date、SeatingID 和 BusID。如何根据这些常用字段更新日历表客户字段?
下面是两个表的结构。
客户表
日历表
您可以像这样通过两个表来从第一个表中获取第二个表UPDATE
的字段:Customer
Calendar
Customer
JOIN
UPDATE calendar c1
INNER JOIN Customer c2 ON c1.SeatingID = c2.SeatingID AND c1.BusID = c2.BusID
SET c1.Customer = c2.ID --or SET c1.Customer = c2.PassengerName or whatever you want.
在SET
子句中,您可以设置要更新的列,也可以JOIN
根据我使用的任何谓词设置两个表c1.SeatingID = c2.SeatingID AND c1.BusID = c2.BusID
,但您可以选择适合您需要的表。
update calendar ca left join customer c
on c.DateofTravel=ca.Date and c.SeatingID=ca.SeatingID and c.BusID=ca.BusID
set
ca.Customer=c.ID;
使用此查询将帮助您从另一个表列更新表列:
UPDATE tableName1 AS tb1
INNER JOIN tableName2 AS tb2
ON (tb1.columnName= tb2.columnName)
SET tb1.updatedColumn = tb2.updatedColumnValue
WHERE ADD HERE CONDITION IF REQUIRED