加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server 2008 – 拆分

发布时间:2021-01-19 19:23:37 所属栏目:MsSql教程 来源:网络整理
导读:我们如何在列中使用交叉应用和拆分值? 我有一个基于逗号的函数dbo.split将值分隔为单独的列 Id Name Value 1234 A 6767 1234 A 6767,1111 5678 A 6767 5678 A 6767,1111 9999 A 6767 请帮助SQL查询到Cross Apply并使用split函数 谢谢 解决方法 您可以使用

我们如何在列中使用交叉应用和拆分值?

我有一个基于逗号的函数dbo.split将值分隔为单独的列

Id         Name      Value  
1234    A     6767  
1234    A     6767,1111   
5678    A     6767  
5678    A     6767,1111  
9999    A     6767

请帮助SQL查询到Cross Apply并使用split函数

谢谢

解决方法

您可以使用CROSS APPLY将split函数与列作为参数一起使用.
SELECT pd.contentnodeid,pt.name,s.Value
FROM   vw_abc pd
       INNER JOIN propertytype pt
         ON pd.propertytypeid = pt.id
       INNER JOIN tab t
         ON t.id = pt.tabid
       INNER JOIN contenttype ct
         ON ct.nodeid = pt.contenttypeid
       INNER JOIN propertytype pt1
         ON pt1.name = pt.name
       INNER JOIN vw_abc pd1
         ON pd1.propertytypeid = pt1.id
       CROSS APPLY dbo.split(',',pd1.datanvarchar) as s
WHERE  t.TEXT LIKE 'ANC'
       AND pd1.datanvarchar <> 'NULL'
       AND pd1.datanvarchar <> ''
       AND pd.datanvarchar LIKE '%'
       AND pd1.datanvarchar LIKE '%'

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读