日期:2014-05-18  浏览次数:20479 次

求助如何使用like语句
求助如何使用like语句
  表A(编号 , 数量)
  Q12 20
  Q12.Q15 12
  Q11.Q16.Q13 15  
  Q13 17  
  Q13.R12.Q14.U12 15

 SELECT TOP 11 编号, SUM(数量)AS 不良数
  FROM A
  where 编号 like 'Q%'
  GROUP BY 编号  

但是结果
Q12 20
Q13 17


其它(如Q12.Q15,Q11.Q16.Q13,Q13.R12.Q14.U12 )的就没有了

是不是我的代码有问题啊
怎么写啊


------解决方案--------------------
SQL code
create table #tab(bh nvarchar(20), sl decimal(18,0))

insert into #tab values('Q12',20)
insert into #tab values('Q12.Q15',12)
insert into #tab values('Q11.Q16.Q13',15)
insert into #tab values('Q13',17)
insert into #tab values('Q13.R12.Q14.U12',15)

SELECT TOP 11 bh, SUM(sl)AS bls
FROM  #tab 
where bh like 'Q%'
GROUP BY bh  

drop table #tab
bh                   bls
-------------------- ---------------------------------------
Q11.Q16.Q13          15
Q12                  20
Q12.Q15              12
Q13                  17
Q13.R12.Q14.U12      15

(5 row(s) affected)

------解决方案--------------------
SQL code
create table A
(编号  varchar(50),
 数量 int
 )
 insert into A select 'Q12', 20
union all select  'Q12.Q15', 12
union all select   'Q11.Q16.Q13', 15   
union all select  'Q13', 17   
union all select  'Q13.R12.Q14.U12', 15
go
 SELECT TOP 11 编号, SUM(数量)AS 不良数
  FROM A
  where 编号 like 'Q%'
  GROUP BY 编号 
结果为:
编号    不良数
Q11.Q16.Q13    15
Q12    20
Q12.Q15    12
Q13    17
Q13.R12.Q14.U12    15

------解决方案--------------------
where ltrim(编号) like 'Q%'

试试
------解决方案--------------------
ltrim(编号) 删除空格。