如何象图中这样的,编号只要显示相同的第一个就好了,如何写查询语句呢?
我现在的是只要有的话就按编号都全部显示出来了,这样看有点花

解决方案 »

  1.   

    如果记录重复出现就替换为空,如果没有就显示
    比如
    序号   货物  数量
     1      A     30
     2             10
     3             -5
     4      B      20
     5             100
     6      C      1
     7             98
    declare @t table(序号 int,货物 varchar(100),数量 int)
    insert into @t
    select  1,      'A' ,   30 union
    select 2  ,     'a'  ,    10 union
    select 3  ,   'a'    ,    -5 union
    select 4  ,   'B'  ,    20 union
    select 5  ,    'b'  ,     100 union
    select 6  ,    'C'  ,    1 union
    select 7  ,     'c'  ,    98 select 序号,case when 序号=(select min(序号) from @t where 货物=a.货物) then 货物 else '' end as 货物,  数量
    from @t a
    order by 序号
      

  2.   

    编号 订单号 货号 材质 规格 单位 数量
    20100109001 123456 3254 AAAAA天地盒 256X654X236 个 100
    20100109001 td001 td001hn AAAAA垫片 56X89 个 50
    20100109001 td001 td001hn AAAAA垫片 65X120 个 12
    20100109002 123456 3254 AAAAA天地盒 256X654X236 个 15
    20100109002 td001 td001hn AAAAA垫片 56X89 个 20
    20100109002 td001 td001hn AAAAA垫片 65X120 个 18
    20100109003 123456 3254 AAAAA天地盒 256X654X236 个 5
    20100109003 td001 td001hn AAAAA垫片 56X89 个 10
    20100109003 td001 td001hn AAAAA垫片 65X120 个 30
    20100109003 123456 3254 AAAAA天地盒 256X654X236 个 12
    20100109004 123456 3254 AAAAA天地盒 256X654X236 个 8
    20100109004 td001 td001hn AAAAA垫片 56X89 个 10
    20100109004 td001 td001hn AAAAA垫片 65X120 个 10
    20100109004 123456 3254 AAAAA天地盒 256X654X236 个 5
    20100109004 td001 td001hn AAAAA垫片 56X89 个 5
    20100109004 td001 td001hn AAAAA垫片 65X120 个 5
    20100109005 td001 td001hn AAAAA垫片 56X89 个 9
    20100109005 td001 td001hn AAAAA垫片 65X120 个 23
    20100109005 123456 3254 AAAAA天地盒 256X654X236 个 51
    20100109005 td001 td001hn AAAAA垫片 56X89 个 6
    20100109005 td001 td001hn AAAAA垫片 65X120 个 2
    20100109006 123456 3254 AAAAA天地盒 256X654X236 个 4
    20100109006 td001 td001hn AAAAA垫片 56X89 个 2
    20100109006 td001 td001hn AAAAA垫片 65X120 个 1
    20100109006 td001 td001hn AAAAA垫片 56X89 个 8
    20100109006 td001 td001hn AAAAA垫片 65X120 个 9
    20100109007 sc26 sc123 AAAAA穿心内盒 250X230X350 个 20
    20100109007 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 10
    20100109007 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 1
    20100109008 123456 3254 AAAAA天地盒 256X654X236 个 5
    20100109008 td001 td001hn AAAAA垫片 56X89 个 5
    20100109008 td001 td001hn AAAAA垫片 65X120 个 5
    20100109008 sc26 sc123 AAAAA穿心内盒 250X230X350 个 5
    20100109008 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 5
    20100109009 123456 3254 AAAAA天地盒 256X654X236 个 12
    20100109009 td001 td001hn AAAAA垫片 56X89 个 2
    20100109009 td001 td001hn AAAAA垫片 65X120 个 15
    20100109009 sc26 sc123 AAAAA穿心内盒 250X230X350 个 5
    20100109009 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 4
    20100109009 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 10
    20100109010 123456 3254 AAAAA天地盒 256X654X236 个 3
    20100109010 td001 td001hn AAAAA垫片 65X120 个 20
    20100109010 sc26 sc123 AAAAA穿心内盒 250X230X350 个 5
    20100109010 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 15
    20100109011 sc26 sc123 AAAAA穿心内盒 250X230X350 个 5
    20100109011 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 55
    20100109012 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 9这个是我的数据,现在就是要改成这样的
    编号 订单号 货号 材质 规格 单位 数量
    20100109005 td001 td001hn AAAAA垫片 65X120 个 23
             123456 3254 AAAAA天地盒 256X654X236 个 51
             td001 td001hn AAAAA垫片 56X89 个 6
             td001 td001hn AAAAA垫片 65X120 个 2
    20100109006 123456 3254 AAAAA天地盒 256X654X236 个 4
             td001 td001hn AAAAA垫片 56X89 个 2
             td001 td001hn AAAAA垫片 65X120 个 1
             td001 td001hn AAAAA垫片 56X89 个 8
             td001 td001hn AAAAA垫片 65X120 个 9
    20100109007 sc26 sc123 AAAAA穿心内盒 250X230X350 个 20
             qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 10
             qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 1
    20100109008 123456 3254 AAAAA天地盒 256X654X236 个 5
             td001 td001hn AAAAA垫片 56X89 个 5
             td001 td001hn AAAAA垫片 65X120 个 5
             sc26 sc123 AAAAA穿心内盒 250X230X350 个 5
              qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 5
    20100109009 123456 3254 AAAAA天地盒 256X654X236 个 12
             td001 td001hn AAAAA垫片 56X89 个 2
                    td001 td001hn AAAAA垫片 65X120 个 15
              sc26 sc123 AAAAA穿心内盒 250X230X350 个 5
             qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 4
             qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 10
    20100109010 123456 3254 AAAAA天地盒 256X654X236 个 3
             td001 td001hn AAAAA垫片 65X120 个 20
             sc26 sc123 AAAAA穿心内盒 250X230X350 个 5
              qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 15
    20100109011 sc26 sc123 AAAAA穿心内盒 250X230X350 个 5
             qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 55
    20100109012 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 9这个是放在一个表里面的 tb_fahuo
      

  3.   

     (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  4.   

    不过你的字段好象不规整,需要使用一个序号列来做,自己加个序号列,然后对这个序号列用max即可.
      

  5.   

    试试select v.*
    from (select distinct 编号 from tb) t
    cross apply 
    (select top(1) * from tb where t.编号=编号) v
      

  6.   

    看错了 --2005可以这样写select 编号=(case id=1 then 编号 else '' end ),*
    from 
    (
    select row_number() over(partition by 编号 order by getdate()) id,
    * from tb
    ) t
      

  7.   

    这样:select case when id = (select min(id) from tb where 编号=t.编号) then 编号 else '' end as 编号
    ,订单号 ,货号, 材质 ,规格 ,单位, 数量
    from tb t