我们如何在列中使用交叉应用和拆分值?
我有一个函数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将拆分功能与列作为参数一起使用。
CROSS APPLY
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 '%'