我有一个 SQL Server 2008 数据库,其中包含一个名为“page_data”的表,其中包含一个名为“path”的 NVARCHAR 列
路径列将包含如下数据:
/aaa/bbb
/aaa/bbb/zzz
/aaa/ccc
/aaa/ccc/xxx
/aaa/ddd
/aaa/ddd/yyy
我想选择路径数据仅包含两个斜杠的行。所以我应该得到以下数据返回:
/aaa/bbb
/aaa/ccc
/aaa/ddd
我想不出该怎么做。任何人都可以帮忙吗?
请试试:
;with T as (
select 0 as row, CHARINDEX('/', Col) pos, Col from page_data
union all
select row + 1, CHARINDEX('/', Col, pos + 1), Col
from T
where pos > 0
)
select distinct MIN(Col1) Col
from(
select
row,
Col,
(case when row=2 then SUBSTRING(Col, 1, pos-1) else Col end) Col1
from T
where pos > 0 and row<3
)x
group by Col