请教个 MySQL 语句的初级问题

2019-11-25 17:30:49 +08:00
 shavy
注明:新手 XD

现状是:
有表 customer,这个表本意是用来存客户信息的,有客户名字,电话号码,公司信息等。其中有字段 cname,存的 varchar,是该客户所属公司的名字。

表数据类似:
id-name-phone-cname
0-张三-1388888-百度有限公司
1-李四-1377777-网易有限公司
2....

后来,打算公司跟人(客户)分开做两个表分别是 company 表跟 people 表,然后已经把所有公司的名字信息,都存好在 company 表里了,(这个表数据已经导入好,cid 已经确定),类似:
cid-cname-caddress
72....
73-百度有限公司-广东广州天河区
74-网易有限公司-广东广州番禺区
75....

现在想把原 customer 里的客户数据转存到 people 表里,达成类似效果
pid-pname-cid
0-张三-73
1-李四-74
2....

也就是根据 customer 跟 company 表,查询到对应的客户资料跟公司的 id,插入到新的空表 people 里,应该怎么写呢?数据量大概几千一万条的样子。

比较菜,希望别说得太简略,谢谢[抱拳]
4235 次点击
所在节点    MySQL
5 条回复
hiths
2019-11-25 17:38:55 +08:00
select t1.id as pid, t1.name as pname, t2.cid as cid from customer as t1
left join company as t2 on t2.cname=t1.cname
vinHty
2019-11-25 21:30:05 +08:00
接楼上:
select tem.*
into people
from (balabalaa) as tem;
#没跑过 可以试试 - -
jay0726
2019-11-25 22:02:13 +08:00
应该用 insert select 将查询结果写入数据表,sql 如下
insert into people(pid, pname, cid) select customer.id, customer.name, company.cid from customer
inner join company on customer.cname = company.cname;
shavy
2019-11-26 08:28:30 +08:00
谢谢楼上各位的回复!
JunoNin
2019-11-26 08:51:48 +08:00
广州的?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/622990

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX