首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-01-22 
高难度问题!!!(对于我来说)一个名为aa的表中有字段b,字段b的数据为字符串型,字段b中的数据有:mmm-nnnmmm-n

高难度问题!!!(对于我来说)
一个名为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

热点排行