| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 552 人关注过本帖
标题:如何写查询语句呢?
只看楼主 加入收藏
hljzch
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-10-8
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
如何写查询语句呢?
表内的数据如下:
客户编码    商品编码    数量    单价
1            1            10    2.48
1            2            11    1.48
1            1            12    2.36
2            1            23    2.79
2            1            13.8  2.88
想产生如下的报表:
客户编码    商品1 数量2    金额2    商品2    数量2    金额2  
1            1    22        XXX        2        11    XXX
2            1    36.8      XXX
每客户一行,商品数不定,有可能几种,有可能没有,金额为数量*单价
哪个高手指定一下?
搜索更多相关主题的帖子: 如何 
2013-10-08 11:09
Sicgl
Rank: 2
等 级:论坛游民
帖 子:17
专家分:61
注 册:2013-10-8
收藏
得分:7 
不懂....标记一下!

Sky!.......忘了说,如果灌水严重...不小心上榜了...大家别投我票...!
2013-10-08 14:23
volte
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:69
帖 子:1167
专家分:1316
注 册:2004-12-19
收藏
得分:7 
聚合函数查询
select 客户编码, 商品编码,  sum(数量), sum(单价*数量)
from 原始表
group by 客户编码,商品编码

大家都是朋友,有空就来坐坐!
2013-10-08 14:42
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
收藏
得分:7 
这个问题我之前也提过,你找找,,我忘记在哪了,有答案的

烈焰照耀世界,斌凍凍千萬裏
2013-10-08 15:41
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
收藏
得分:0 
create table table1
(
    id char(3) not null primary key,
    name varchar(10),
    sex bit
)
go
create table table2(id char(3), name varchar(10), sex bit, id2 char(3), name2 varchar(10), sex2 bit)
insert into table1
values('001','a',0)
insert into table1
values('002','b',0)
insert into table1
values('003','c',1)
insert into table1
values('004','d',0)
insert into table1
values('005','e',1)










declare mycur cursor
for select * from table1
open mycur
declare @id char(3),
        @name varchar(10),
        @sex bit,
        @id2 char(3),
        @name2 varchar(10),
        @sex2 bit,
        @i int
        set @i =1
fetch next from mycur
into @id,@name,@sex
while @@fetch_status=0
begin  
      if @i%2 <>0
      begin
         if @i <> 5
         begin
             fetch next from mycur
             into @id2,@name2,@sex2   
             insert into table2      
             values(@id,@name,@sex,@id2,@name2,@sex2)         
         end
         else
         begin
            insert into table2(id,name,sex)  
            values(@id,@name,@sex)
         end         
         set @i = @i+1
      end
      else
      begin
          fetch next from mycur
          into @id,@name,@sex
          set @i = @i+1
      end
end
close mycur
deallocate mycur

小仙写的

烈焰照耀世界,斌凍凍千萬裏
2013-10-08 15:50
Sicgl
Rank: 2
等 级:论坛游民
帖 子:17
专家分:61
注 册:2013-10-8
收藏
得分:0 
好像也不难!
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 Sicgl 于 2013-10-9 03:35 编辑 ]

Sky!.......忘了说,如果灌水严重...不小心上榜了...大家别投我票...!
2013-10-08 16:13
hljzch
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-10-8
收藏
得分:0 
聚合函数的我写完了,结果是
1    1    22
1    2    10
2    1    36.8
是三行数据,不是我说的两行数据
怎样实现只显示两行呢?
2013-10-08 16:47
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
收藏
得分:0 
你认为你这种要求一句代码能搞定

烈焰照耀世界,斌凍凍千萬裏
2013-10-09 08:39
快速回复:如何写查询语句呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016792 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved