我是一个新手.. 我正在使用Visual Studio Data Tool建立一个SSAS模型.. 我面临的最复杂的问题之一是一个字段包含多个值,我需要将它们中的每一个连接到另一个表格,例如。
Family PersonsID
1 1#2#5
2 6#7#10
我需要一个查询语句(不是PL/SQL程序)来使其成为这种形式。
Family PersonsID
1 1
1 2
1 5
2 6
2 7
2 10
把它与Persons表绑定。 我发现这个天才的查询。
SELECT A.[Family],
Split.a.value('.', 'VARCHAR(100)') AS String
FROM (SELECT [State],
CAST ('<M>' + REPLACE([PersonsID], '#', '</M><M>') + '</M>' AS XML) AS String
FROM TableA) AS A CROSS APPLY String.nodes ('/M') AS Split(a);
在SQL Server上,我的代码完美运行,但是在尝试在Oracle 11g上运行时,它报错了:"Cross"后面应该跟一个"join"。
你能帮我吗?因为客户端政策的限制,我没有创建函数和过程的权限,所以我需要快速得到查询结果。