select a.id,b.供应商,b.名称,b.规格,单位=max(b.单位)
,数量=sum(b.数量*a.数量),总价=sum(b.数量*b.单价)
,合计=sum(a.数量*b.数量*b.单价)
into tmp
from tcg_idx a 
join tcg b on a.id=b.idx
        join tcg_main c on b.idmain=c.id
where b.idmain=1
group by a.id,b.供应商,b.名称,b.规格
--有问题吗?

解决方案 »

  1.   

    我说错了 大哥
    那个TMP是我建立的1个表 表里面都有字段  INTO的话肯定是先删除后建立,我不想这样而是直接插入怎做?
      

  2.   

    insert into tmp +你的那一堆
      

  3.   


        插入数据用insert into table select ....的语法格式。    你能不能把你的问题重新完整地贴一下?
      

  4.   

    insert into tmp select …… from 吗
    如果语句是动态生成的就
    insert into tmp exec (@exec)
      

  5.   

    select * into table_a from table_b 是从表a查询插入b表,适用于b表不存在,要生成b表的情况。
    insert into table_b select * from table_a 适用于将a表查询到的数据插入b表。
      

  6.   

    insert into tmp
    select a.id as idx,b.供应商,b.名称,b.规格,单位=max(b.单位),b.单价
    ,数量=sum(b.数量*a.数量),总价=sum(b.数量*b.单价)
    ,合计=sum(a.数量*b.数量*b.单价)
    from tcg_idx a 
    join tcg b on a.id=b.idx
            join tcg_main c on b.idmain=c.id
    where b.idmain=@h
    group by a.id,b.供应商,b.名称,b.规格,b.单价
    报错:仅当使用了列的列表,并且IDENTITY_INSERT为ON时,才能在表'tmp'中为标识列指定显示值
    tmp 字段:
    id(自增的,int)  idx(int)  供应商 名称 规格 单价 单位 数量 总价