sql 把多表查询的数据 新建表

2024-11-25 09:49:12
推荐回答(3个)
回答1:

直接插入的话用以下sql语句:
insert into A
(
select fh.familyId, sum(h.BuildArea)as cool1 ,sum(h.c1 )as cool2
from FamilyHouse fh , House h
where fh.roomId=h.id
group by fh.familyId
)
当然A表的字段顺序要和select语句的字段顺序一致。则在A后面加上字段名,即A(colum1,colum2,..),顺序和select语句顺序一致。

回答2:

这个问题得看你的需求了,是你需要创建一个实体表来存储,还是想暂时用这些数据,而不真正存储到实体表中呢。

  1. 若是创建实体表的话你需要创建Table A

    Create table A(ID 类型,cool1 类型,cool2 类型 ) 这里的类型要和上面你查询出来的字段的类型一致,然后insert into A (ID,cool1,cool2) select fh.familyId, sum(h.BuildArea)as cool1 ,sum(h.c1 )as cool2
    from FamilyHouse fh , House h
    where fh.roomId=h.id
    group by fh.familyId

  2. 若是你只想用这些数据的话,在存储过程中可以借用临时表实现

    select fh.familyId, sum(h.BuildArea)as cool1 ,sum(h.c1 )as cool2
    into #Temp from FamilyHouse fh , House h
    where fh.roomId=h.id
    group by fh.familyId

回答3:

看你应该不是导入(insert),你是不是想要更新?