SQL Server 2008 - 拆分 [英] SQL Server 2008 - Split
本文介绍了SQL Server 2008 - 拆分的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们如何在列中使用交叉应用和拆分值?
How do we use cross apply and split values in a column?
我有一个基于逗号的函数 dbo.split 将值分隔到单独的列中
I have a function dbo.split that based on a comma separates the values into separate column
Id Name Value
1234 A 6767
1234 A 6767,1111
5678 A 6767
5678 A 6767,1111
9999 A 6767
请帮助 SQL 查询交叉应用并使用拆分功能
Please help with SQL query to Cross Apply and also use the split function
谢谢
推荐答案
您可以使用 CROSS APPLY
使用以列为参数的拆分函数.
You can use CROSS APPLY
to use the split function with a column as a parameter.
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 '%'
这篇关于SQL Server 2008 - 拆分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文