Vous pouvez utiliser CROSS APPLY
pour utiliser la fonction split avec une colonne en paramètre.
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 '%'