カレンダーと顧客テーブルの 2 つのテーブルがあります。カレンダー テーブルには、値として顧客テーブル「ID」を持つ「顧客」列があります。残念ながら、このカレンダーの顧客フィールドの値には、他の値が誤って入力されていました。どちらのテーブルにも、Date、SeatingID、および BusID という共通フィールドがあります。これらの共通フィールドに基づいてカレンダー テーブルの顧客フィールドを更新する方法は?.
以下は、両方のテーブルの構造です。
顧客テーブル
カレンダー表
カレンダーと顧客テーブルの 2 つのテーブルがあります。カレンダー テーブルには、値として顧客テーブル「ID」を持つ「顧客」列があります。残念ながら、このカレンダーの顧客フィールドの値には、他の値が誤って入力されていました。どちらのテーブルにも、Date、SeatingID、および BusID という共通フィールドがあります。これらの共通フィールドに基づいてカレンダー テーブルの顧客フィールドを更新する方法は?.
以下は、両方のテーブルの構造です。
顧客テーブル
カレンダー表
次のように 2 つのテーブルをing することで、最初のテーブルから2 番目のテーブル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
任意の述語に基づいて 2 つのテーブルを設定することも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;