一个名为aa的表中有字段b,字段b 的数据为字符串型,
字段b中的数据有:
mmm-nnn
mmm-nnnn
mmm-mnmn
nnnn-mmm
nnnn-mnmn
现在的问题是如何写一个sql语句来将里面的数据按照 - 前面的字符来进行分组,如上面要得到结果是:mmm和nnnn两条记录。
搞了好久都没搞出来只好来这里求救了!
请高手帮忙呀!
------解决方案--------------------
create table #aa(b varchar(20))
insert into #aa
select 'mmm-nnn '
union all select 'mmm-nnnn '
union all select 'mmm-mnmn '
union all select 'nnnn-mmm '
union all select 'nnnn-mnmn '
select left(b,charindex( '- ',b)-1) from #aa
group by left(b,charindex( '- ',b)-1)
------解决方案--------------------
select case when charindex( '- ',b)> 1 then left(b,charindex( '- ',b)-1) else b end as b
from tablename
group by
case when charindex( '- ',b)> 1 then left(b,charindex( '- ',b)-1) else b end