簡體   English   中英

MySQL查詢基於另一個表的ID替換名稱

[英]Mysql query to replace name based on id of another table

我有兩個表客戶端和well_names

表客戶

id,name
1   ABC
2   TEST
3   XYZ

表well_names

id,operator
1   ABC
2   ABC
3   ABC
4   TEST
5   TEST
6   XYZ
7   XYZ

我想從客戶端表中選擇ID,並在well_names表中的操作符列上進行更新。

預期產量

表well_names

id,operator
1   1
2   1
3   1
4   2
5   2
6   3
7   3

此查詢將起作用:

SELECT a.id, b.id 
FROM clients as a LEFT JOIN well_names as b ON a.name = b.operator
select w.id as id, 
       c.id as operator
from join tbl_well w 
inner tbl_client c
on c.operator = w.operator

您可以將subquery與update語句一起使用:

update well_names w
      set operator = (select c.id from Clients c where c.name = w.operator);
UPDATE well_names WN
INNER JOIN Clients C ON WN.operator = C.operator 
set WN.operator = C.id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM