当前位置: 代码迷 >> Sql Server >> 高难度有关问题!(对于小弟我来说)
  详细解决方案

高难度有关问题!(对于小弟我来说)

热度:42   发布时间:2016-04-27 19:02:08.0
高难度问题!!!(对于我来说)
一个名为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
  相关解决方案