如何从两个以上的表中收集数据并将结果放入一个新表中

时间:2013-01-08 14:05:25

标签: mysql sql database

我有三张桌子......

第一个表 Parameter_value_archive ,其列为:

  • Para_id
  • para_value
  • created_date
  • meter_id

将表格 meter_primary_master 列为:

  • meter_name
  • meter_id

第三个表 parameter_master ,其列为:

  • para_name
  • para_id

我想从这三个表中收集数据,并将其放在一个新的表名 Meter_specs 中,其列为:

  • created_date
  • meter_id
  • meter_name
  • para_name
  • para_id
  • para_value

怎么做?

2 个答案:

答案 0 :(得分:3)

要创建一个具有select子句的相同表定义的新表,请使用CREATE TABLE ... AS SELECT ...,如下所示:

CREATE TABLE Meter_specs
AS
SELECT 
  ar.created_date,
  m.meter_id,
  m.meter_name,
  p.para_name,
  p.para_id
FROM Parameter_value_archive ar
INNER JOIN meter_primary_master m ON ar.meter_id = m.meter_id
INNER JOIN parameter_master     p ON p.para_id = ar.para_id = p.para_id;

这将创建一个包含以下列的新表Meter_specs

  • created_date
  • meter_id
  • meter_name
  • para_name
  • para_id

SQL Fiddle Demo

答案 1 :(得分:0)

插入选择.... 选择应该连接三个表,提取所需的字段。请参阅文档:http://dev.mysql.com/doc/refman/5.0/en/insert-select.html