我有两个表日历和客户表。 日历表具有带有客户表“ID”的值“客户”列中。 但不幸的是,这个日历客户字段的值被错误地填充了其他值。 两个表都有这些公共域日期,SeatingID和BusID。 如何更新基于这些共同领域的日历表客户领域?
下面是这两个表的结构。
客户表
日历表
我有两个表日历和客户表。 日历表具有带有客户表“ID”的值“客户”列中。 但不幸的是,这个日历客户字段的值被错误地填充了其他值。 两个表都有这些公共域日期,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;
这里是链接到更多的信息abaout 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