更新sql表将varchar转换为int

mf98qq94  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(429)

我现在有一张table new_funeralhomes 如下所示,其中包含我希望添加到另一个表中的新数据:

,
在这个表中,我可以很容易地发送地址,邮政,电话,网站和电子邮件到这个表 addressTest :

.
不过,正如你所看到的 new_funeralhomes 表中,城市/州是文本值,在第二个表中( addressTest )它们是连接到这些表的int值: city :

, province :

.
我该如何更新 addressTest 与新省市同桌?iid和id值匹配,并且始终相同。
我是新的,所以任何帮助都将不胜感激,谢谢你。

xxb16uws

xxb16uws1#

你好像在找一个 insert ... select 对账单 join s。逻辑是:

insert into addressTest
    (address, province, postcalcode, city, primaryphone, secondaryphoe, website)
select
    n.address
    p.id,
    n.postcal,
    c.id,
    n.phone,
    n.phone2,
    n.website
from new_funeralhomes n
inner join city c on c.name = n.city
inner join province p on p.name = n.state

旁注:源表的列似乎比目标表少;我对列列表进行了调整,使之看起来是匹配的列—您可能需要检查它,以便它与您的需求正确匹配(但是 join 逻辑,这是你的问题的核心,保持不变)。

相关问题