阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 2525|回复: 10

[求助] 那位行家能帮我实现这样的SQL查询?

[复制链接]
  • TA的每日心情
    开心
    2012-1-25 16:20
  • 签到天数: 246 天

    [LV.8]以坛为家I

    发表于 2009-1-2 10:24:49 | 显示全部楼层 |阅读模式
    本人数据库里有这么一个表(表1),格式是这样的。主要字段是商品名称与数量。相同名称有不同数量。如下两图:
    (注:图1为源数据,图2为查询结果)。
    我想要得到图2的效果,有人能实现吗?这是几维的报表?
    先谢谢了!

    [ 本帖最后由 好人一生平安 于 2009-1-2 10:28 编辑 ]

    好人一生平安 于 2009-1-2 10:29 补充以下内容

    由于比较急用,所以恳请管理员设为高亮。谢谢!
    本帖子由阳光论坛社会行家组成员答复

    解决软件应用问题、专家原来离我们这么近--阳光网驿助力企业信息化
    图1.JPG
    图2.JPG
    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2016-1-26 10:54
  • 签到天数: 1332 天

    [LV.10]以坛为家III

    发表于 2009-1-2 10:44:03 | 显示全部楼层

    回复 1楼 好人一生平安 的帖子

    没看懂,说详细些好吗
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2012-1-25 16:20
  • 签到天数: 246 天

    [LV.8]以坛为家I

     楼主| 发表于 2009-1-2 10:49:01 | 显示全部楼层

    回复 2楼 hsq4422058 的帖子

    也就是我数据库里有一个表(表名就叫表1吧),如图1所示,我想用一条语句或一个存储过程来实出图2的效果。够详细了吧(麻烦认真看图)。
    本帖子由阳光论坛社会行家组成员答复

    解决软件应用问题、专家原来离我们这么近--阳光网驿助力企业信息化
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    奋斗
    2023-12-11 20:29
  • 签到天数: 205 天

    [LV.7]常住居民III

    发表于 2009-1-2 11:50:34 | 显示全部楼层
    我到是看懂了。但您的数量为什么要分很多呢。用sql可能难。因为您因为两个字段。可用电子表试   我正在给您试。如果试出来了第一时间给您说。试了。没找出办法

    [ 本帖最后由 chendaihua 于 2009-1-2 12:45 编辑 ]
    启用邀请码注册,提高发帖质量,建设交流社区

    该用户从未签到

    发表于 2009-1-2 12:26:33 | 显示全部楼层
    这个用自连接,你可以查询下自连接的应用,就会做出的
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2012-1-25 16:20
  • 签到天数: 246 天

    [LV.8]以坛为家I

     楼主| 发表于 2009-1-2 13:02:42 | 显示全部楼层
    楼上的能详细说明一下吗?主好把表达式也提供上。十分感谢大家的关注!
    本帖子由阳光论坛社会行家组成员答复

    解决软件应用问题、专家原来离我们这么近--阳光网驿助力企业信息化


    好人一生平安 于 2009-1-2 17:12 补充以下内容

    怎么没人看呀?管理员们,该出手时就出手呀
    本帖子由阳光论坛社会行家组成员答复

    解决软件应用问题、专家原来离我们这么近--阳光网驿助力企业信息化
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2019-9-12 07:47
  • 签到天数: 106 天

    [LV.6]常住居民II

    发表于 2009-1-3 12:55:29 | 显示全部楼层
    思路:创建合并函数

    1. create function VMerge(@name varchar) returns varchar(4000)
    2. as
    3. begin
    4. declare @str varchar(8000)
    5. set @str=''
    6. select @str=@str+','+cast(数量 as varchar) from 表名 where 商品名称 = @name
    7. set @str=right(@str,len(@str)-1)
    8. return(@str)
    9. End
    复制代码

    查询调用函数

    1. select distinct 商品名称,dbo.Vmerge(商品名称) from 表名
    复制代码
    本帖子由阳光论坛管理组成员答复

    打造出国内一流的行业软件应用交流论坛--阳光网驿助力企业信息化

    评分

    参与人数 1阳光币 +3 收起 理由
    sunwy + 3 感谢版主的热心帮助!

    查看全部评分

    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2012-1-25 16:20
  • 签到天数: 246 天

    [LV.8]以坛为家I

     楼主| 发表于 2009-1-10 11:43:43 | 显示全部楼层
    由于本人是SQL初学都,还是有点不明白,还请楼上说得清楚点。能不能写好一段语句,我复制到SQL查询分析器运行就行的那种。
    本帖子由阳光论坛社会行家组成员答复

    解决软件应用问题、专家原来离我们这么近--阳光网驿助力企业信息化
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2021-8-30 00:00
  • 签到天数: 35 天

    [LV.5]常住居民I

    发表于 2009-1-12 20:11:21 | 显示全部楼层
    建议在过程里面做一个数量1-数量10的循环来实现取数

    用过程配合在sql里面可以实现的
    本帖子由阳光论坛管理组成员答复

    打造出国内一流的行业软件应用交流论坛--阳光网驿助力企业信息化
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2012-1-25 16:20
  • 签到天数: 246 天

    [LV.8]以坛为家I

     楼主| 发表于 2009-1-13 09:53:23 | 显示全部楼层
    请sunwy老大详细为我写下整个过程,拜托老大了。
    本帖子由阳光论坛社会行家组成员答复

    解决软件应用问题、专家原来离我们这么近--阳光网驿助力企业信息化
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表