SQL 查
如下, 有三Item相同, 但ld_qty_oh量我只想示一次(示在promise date最前的Item上), 剩下的可空,
item ld_qty_oh
item0 10
item0 10
item0 10
item0 10
item1 20
item1 20
item1 20
我想示成怎么示
item ld_qty_oh
item0 10
item0
item0
item0
item1 20
item1
item1
想示成怎么示
[解决办法]
如果是通过程序来约束显示,完全可以在客户端处理。
[解决办法]
有主,借用表吧
Select ID = Identity(Int, 1, 1), * Into #T From 表
Select
Distinct
A.item,
(Case When A.ID != B.ID Then Null Else ld_qty_oh End) As ld_qty_oh
From
#T A
Inner Join
(Select item, Min(ID) As ID From #T Group By item) B
On A.item = B.item
Drop Table #T
[解决办法]
西,用SQL不是很好,最好在前台去控制。
[解决办法]
如果记录重复出现就替换为空,如果没有就显示
比如
序号 货物 数量
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 序号
[解决办法]
--建立测试环境
create table #tb(item varchar(10),ld_qty_oh int)
insert #tb(item,ld_qty_oh)
select 'item0 ', '10 ' union all
select 'item0 ', '10 ' union all
select 'item0 ', '10 ' union all
select 'item0 ', '10 ' union all
select 'item1 ', '20 ' union all
select 'item1 ', '20 ' union all
select 'item1 ', '20 '
go
--执行测试语句
select identity(int,1,1) as id,t.item,t.ld_qty_oh into #tmp from #tb t
select item,case when exists(select 1 from #tmp where t.item = item and t.ld_qty_oh = ld_qty_oh and t.id > id) then null else ld_qty_oh end as ld_qty_oh
from #tmp t
go
--删除测试环境
drop table #tb,#tmp
go
/*--测试结果
item ld_qty_oh
---------- -----------
item0 10
item0 NULL
item0 NULL
item0 NULL
item1 20
item1 NULL
item1 NULL
(7 row(s) affected)
*/
[解决办法]
lrb588(流星雨一) ( ) 信誉:100 2007-08-16 10:02:05 得分: 0
是用SQL句
-----------
上面已了。
有主,需要借用表
不上面的有小,修改下
Select ID = Identity(Int, 1, 1), * Into #T From 表
Select
A.item,
(Case When A.ID != B.ID Then Null Else ld_qty_oh End) As ld_qty_oh
From
#T A
Inner Join
(Select item, Min(ID) As ID From #T Group By item) B
On A.item = B.item
Drop Table #T