商品表结构
时间                   商品号   数量     
2006-06-18 00:00:00    10001    2           
2006-06-18 00:00:00    10001    1             
2006-06-18 00:00:00    10001    1             
2006-06-18 00:00:00    10001    1            
2006-06-18 00:00:00    10002    2             
2006-06-18 00:00:00    10002    1             
2006-06-18 00:00:00    10002    1          
2006-06-18 00:00:00    10002    1             
2006-06-18 00:00:00    10001    2           
2006-06-19 00:00:00    10001    1             
2006-06-19 00:00:00    10001    1             
2006-06-19 00:00:00    10001    1            
2006-06-19 00:00:00    10002    2             
2006-06-19 00:00:00    10002    1             
2006-06-19 00:00:00    10002    1          
2006-06-19 00:00:00    10002    1  价格表
商品号       价格
10001         4
10002         1我想要查询出这样的结果
日期           商品号      单价     数量     总价
2006-06-19      10001        4        10       40
2006-06-19      10002        1        5        5
就要要把这两个表汇总一下

解决方案 »

  1.   

    select
    时间 as 日期,
    商品号,
    (select 单价 from 价格表 where 商品号=a.商品号) as 单价,
    sum(数量) as 数量,
    (select 单价 from 价格表 where 商品号=a.商品号)*sum(数量) as 总价
    from
    商品表结构
    group by
    时间,商品号
      

  2.   

    SELECT base.时间,base.商品号,p.价格,base.数量,p.价格*base.数量 AS 总价
    FROM
    (SELECT MAX(时间) AS 时间,商品号,SUM(数量) AS 数量 FROM 商品表 GROUP BY 商品号) base
    INNER JOIN 价格表 p
    ON p.商品号=base.商品号
      

  3.   

    2006-06-19      10001        4        10       40这里的数量10是怎么出来的阿?select t1.时间,t1.商品号,t2.单价,t1.数量,t1.数量 * t2.单价 as 总价
    from (select convert(varchar(10),时间,120) as 时间,商品号,sum(数量) as 数量 from 商品表结构)t1,价格表 t2
    where t1.商品号 = t2.商品号
      

  4.   

    --^^;
    --好像不要按天分组,改一下select
    max(时间) as 日期,
    商品号,
    (select 单价 from 价格表 where 商品号=a.商品号) as 单价,
    sum(数量) as 数量,
    (select 单价 from 价格表 where 商品号=a.商品号)*sum(数量) as 总价
    from
    商品表结构
    group by
    商品号
      

  5.   

    select 时间 as 日期, 商品号, sum(数量)as 总数  from 商品表 group by 时间, 商品号
    多谢大家,我做到了这一步
    夜游神兄,
    那个a.商品号的a是什么呢?
    select 时间 as 日期, 商品号,(select * from 价格表 where 价格表.商品号=商品表.商品号), sum(数量)as 总数  from 商品表 group by 时间, 商品号
    这样子会出错
      

  6.   

    fcuandy(电脑杂工)
    的可以啦,多谢,不知道LouisXIV(夜游神)的还要怎样改一下才能用
      

  7.   

    a写在这里from
    商品表结构 a
      

  8.   

    SELECT base.时间,base.商品号,p.价格,base.数量,p.价格*base.数量 AS 总价
    FROM
    (SELECT  时间,商品号,SUM(数量) AS 数量 FROM 商品表 GROUP BY 时间,商品号) base
    INNER JOIN 价格表 p
    ON p.商品号=base.商品号 order by base.时间
    这是我用的最终结果
    结贴