请教sql语句

王艳飞 2006-02-22 01:34:45
有表如下:

字段
ABC

财务部
东方物业
东方物业
东方物业/测试
发展计划部
发展计划部/设计院
市场经营部/帐务中心/bbb
财务部


现在想要得出以下样式:

字段
ABC

财务部
东方物业
发展计划部
市场经营部

请问sql怎么写?
...全文
122 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狙击手- 2006-02-22
  • 打赏
  • 举报
回复
declare @t table(ABC varchar(100))
insert @t
select '财务部' union all
select '东方物业' union all
select '东方物业' union all
select '东方物业/测试' union all
select '发展计划部' union all
select '发展计划部/设计院' union all
select '市场经营部/帐务中心/bbb' union all
select '财务部'

select distinct left(ABC,charindex('/',ABC+'/') - 1 )
from @t
/*
--------------
财务部
东方物业
发展计划部
市场经营部

*/
zlp321002 2006-02-22
  • 打赏
  • 举报
回复
--少了一个判断

select distinct
ABC=case when charindex('/',ABC)=0 then ABC
else left(ABC,charindex('/',ABC)-1) END
from 表
王艳飞 2006-02-22
  • 打赏
  • 举报
回复
报错

服务器: 消息 536,级别 16,状态 3,行 1
向 substring 函数传递了无效的 length 参数。
zlp321002 2006-02-22
  • 打赏
  • 举报
回复
select distinct
left(ABC,charindex('/',ABC)-1)
from 表

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧