[英]Update column based on matching values in other table in mysql
我有兩個表日歷和客戶表。 日歷表有一個“客戶”列,其客戶表“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 cal, customer cust
SET cal.Customer = cust.ID
where cal.SeatingID = cust.SeatingID
and cal.BusID = cust.BusID
and cal.DATE = cust.DateOfTravel;
這是update
信息的鏈接。
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.