You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL如何将country表数值乘对应汇率生成新的数据表

完整可运行SQL语句

DROP TABLE IF EXISTS new_country;
CREATE TABLE IF NOT EXISTS new_country AS
SELECT 
    c.`name`,
    ROUND(c.value001 * r.rate, 2) AS value1,
    ROUND(c.value002 * r.rate, 2) AS value2,
    ROUND(c.value003 * r.rate, 2) AS value3
FROM country c
LEFT JOIN `exchange-rate` r 
ON c.`name` = r.`name`;

逻辑说明

  • 直接使用MySQL原生支持的CREATE TABLE ... AS SELECT语法,一步完成建表和计算结果写入,不需要拆分建表、插入两个步骤
  • 关联用LEFT JOIN即可,关联条件为两张表的国家名称相等,可以保留country表中所有国家的记录,如果只需要保留两边都匹配的记录,换成INNER JOIN即可
  • 计算时加了ROUND()保留2位小数,和原表的decimal精度匹配,不需要可以去掉
  • 注意表名exchange-rate包含特殊字符,必须用反引号包裹才能正常识别

执行后查询new_country表即可得到预期结果:

namevalue1value2value3
Bulgaria190.00380.00570.00
Portugal5.506.607.70
Belarus200.00300.00400.00

内容的提问来源于stack exchange,提问作者Vityata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:27:03