SQL查询 如何象图中这样的,编号只要显示相同的第一个就好了,如何写查询语句呢?我现在的是只要有的话就按编号都全部显示出来了,这样看有点花 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果记录重复出现就替换为空,如果没有就显示比如序号 货物 数量 1 A 30 2 10 3 -5 4 B 20 5 100 6 C 1 7 98declare @t table(序号 int,货物 varchar(100),数量 int)insert into @tselect 1, 'A' , 30 unionselect 2 , 'a' , 10 unionselect 3 , 'a' , -5 unionselect 4 , 'B' , 20 unionselect 5 , 'b' , 100 unionselect 6 , 'C' , 1 unionselect 7 , 'c' , 98 select 序号,case when 序号=(select min(序号) from @t where 货物=a.货物) then 货物 else '' end as 货物, 数量from @t aorder by 序号 编号 订单号 货号 材质 规格 单位 数量20100109001 123456 3254 AAAAA天地盒 256X654X236 个 10020100109001 td001 td001hn AAAAA垫片 56X89 个 5020100109001 td001 td001hn AAAAA垫片 65X120 个 1220100109002 123456 3254 AAAAA天地盒 256X654X236 个 1520100109002 td001 td001hn AAAAA垫片 56X89 个 2020100109002 td001 td001hn AAAAA垫片 65X120 个 1820100109003 123456 3254 AAAAA天地盒 256X654X236 个 520100109003 td001 td001hn AAAAA垫片 56X89 个 1020100109003 td001 td001hn AAAAA垫片 65X120 个 3020100109003 123456 3254 AAAAA天地盒 256X654X236 个 1220100109004 123456 3254 AAAAA天地盒 256X654X236 个 820100109004 td001 td001hn AAAAA垫片 56X89 个 1020100109004 td001 td001hn AAAAA垫片 65X120 个 1020100109004 123456 3254 AAAAA天地盒 256X654X236 个 520100109004 td001 td001hn AAAAA垫片 56X89 个 520100109004 td001 td001hn AAAAA垫片 65X120 个 520100109005 td001 td001hn AAAAA垫片 56X89 个 920100109005 td001 td001hn AAAAA垫片 65X120 个 2320100109005 123456 3254 AAAAA天地盒 256X654X236 个 5120100109005 td001 td001hn AAAAA垫片 56X89 个 620100109005 td001 td001hn AAAAA垫片 65X120 个 220100109006 123456 3254 AAAAA天地盒 256X654X236 个 420100109006 td001 td001hn AAAAA垫片 56X89 个 220100109006 td001 td001hn AAAAA垫片 65X120 个 120100109006 td001 td001hn AAAAA垫片 56X89 个 820100109006 td001 td001hn AAAAA垫片 65X120 个 920100109007 sc26 sc123 AAAAA穿心内盒 250X230X350 个 2020100109007 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 1020100109007 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 120100109008 123456 3254 AAAAA天地盒 256X654X236 个 520100109008 td001 td001hn AAAAA垫片 56X89 个 520100109008 td001 td001hn AAAAA垫片 65X120 个 520100109008 sc26 sc123 AAAAA穿心内盒 250X230X350 个 520100109008 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 520100109009 123456 3254 AAAAA天地盒 256X654X236 个 1220100109009 td001 td001hn AAAAA垫片 56X89 个 220100109009 td001 td001hn AAAAA垫片 65X120 个 1520100109009 sc26 sc123 AAAAA穿心内盒 250X230X350 个 520100109009 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 420100109009 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 1020100109010 123456 3254 AAAAA天地盒 256X654X236 个 320100109010 td001 td001hn AAAAA垫片 65X120 个 2020100109010 sc26 sc123 AAAAA穿心内盒 250X230X350 个 520100109010 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 1520100109011 sc26 sc123 AAAAA穿心内盒 250X230X350 个 520100109011 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 5520100109012 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 个 220100109006 123456 3254 AAAAA天地盒 256X654X236 个 4 td001 td001hn AAAAA垫片 56X89 个 2 td001 td001hn AAAAA垫片 65X120 个 1 td001 td001hn AAAAA垫片 56X89 个 8 td001 td001hn AAAAA垫片 65X120 个 920100109007 sc26 sc123 AAAAA穿心内盒 250X230X350 个 20 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 10 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 120100109008 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 个 520100109009 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 个 1020100109010 123456 3254 AAAAA天地盒 256X654X236 个 3 td001 td001hn AAAAA垫片 65X120 个 20 sc26 sc123 AAAAA穿心内盒 250X230X350 个 5 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 1520100109011 sc26 sc123 AAAAA穿心内盒 250X230X350 个 5 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 5520100109012 qg001 qg001hn BCB全盖外箱 23.3X26.5X34.8 个 9这个是放在一个表里面的 tb_fahuo (不要高估你的汉语表达能力或者我的汉语理解能力) 建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。 参考一下这个贴子的提问方式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) 这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。 不过你的字段好象不规整,需要使用一个序号列来做,自己加个序号列,然后对这个序号列用max即可. 试试select v.*from (select distinct 编号 from tb) tcross apply (select top(1) * from tb where t.编号=编号) v 看错了 --2005可以这样写select 编号=(case id=1 then 编号 else '' end ),*from (select row_number() over(partition by 编号 order by getdate()) id,* from tb) t 这样:select case when id = (select min(id) from tb where 编号=t.编号) then 编号 else '' end as 编号,订单号 ,货号, 材质 ,规格 ,单位, 数量from tb t 计算机名称可以修改,如果修改后默认的初始名字忘记该如何恢复? 存储过程中返回唯一一个数据集的问题 求销售净额,利润及利润率,高分求解!!! hibernate自动建表出现 Table 'my.t_user doesn't exist'错误,其中my是数据库名,怎么多了一个my.啊? 各位帮忙解释一下 请问怎样在SQLSERVER里查找表 更改主键或外键的长度问题 SQL SERVER 的古怪錯誤,求助! SQL2000中文版 关于企业管理器和查询分析器连接的问题 工具条彩色图像按钮变成灰度图像按钮的疑问 如何使username字段唯一 数据库日期字段更新
比如
序号 货物 数量
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 序号
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
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式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)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
from (select distinct 编号 from tb) t
cross apply
(select top(1) * from tb where t.编号=编号) v
from
(
select row_number() over(partition by 编号 order by getdate()) id,
* from tb
) t
,订单号 ,货号, 材质 ,规格 ,单位, 数量
from tb t