转换MSSQL';对于XML路径';神谕

转换MSSQL';对于XML路径';神谕,sql,sql-server,oracle,code-conversion,for-xml-path,Sql,Sql Server,Oracle,Code Conversion,For Xml Path,我有一个语句来填充我的MSSQL数据库中的一个表。它将一些值连接在一起,用分号分隔 INSERT INTO XXAArcDocSWSB (ArcDocINr, SWorte) SELECT A.ArcDocINr, B.SWorte FROM XXAArcDoc A LEFT JOIN ( SELECT DISTINCT T2.ArcDocINr, SUBSTRING( ( SELECT ';' + T1.SWort AS [text()] FROM

我有一个语句来填充我的MSSQL数据库中的一个表。它将一些值连接在一起,用分号分隔

INSERT INTO XXAArcDocSWSB (ArcDocINr, SWorte)
SELECT A.ArcDocINr, B.SWorte FROM XXAArcDoc A 
LEFT JOIN (
SELECT DISTINCT T2.ArcDocINr,
SUBSTRING(
    (
        SELECT ';' + T1.SWort  AS [text()]
        FROM (SELECT D.ArcDocINr, SW.SWort FROM XXAArcDoc D, XXAArcSW SW WHERE D.ArcDocINr = SW.ArcDocINr) T1
        WHERE T1.ArcDocINr = T2.ArcDocINr
        For XML PATH ('')
    ), 2, 255) [SWorte]
FROM (SELECT D.ArcDocINr, SW.SWort FROM XXAArcDoc D, XXAArcSW SW WHERE D.ArcDocINr = SW.ArcDocINr) T2
) B ON A.ArcDocINr = B.ArcDocINr 
我没有足够的知识将其转换为Oracle。它应该给我与MSSQL相同的输出。 有人能帮我吗

编辑:

以下是一些示例数据:

XXAArcDoc:

ArcDocINr | ...
----------|----------
1         |
2         |
3         |
.         |
.         |
.         |
XXAArcSW:

ArcSWINr | ArcDocINr | SWort
---------|-----------|---------
6        | 1         | Müller
7        | 1         | 100
8        | 2         | 111111
9        | 2         | 13579
10       | 2         | 002
11       | 3         | TM-AH
这是我想要的结果:

ArcDocINr | SWorte
----------|---------
1         | Müller;100
2         | 111111;13579;002
3         | TM-AH
使用:

更新

如果使用
XXAArcSW
表中的值插入
XXAArcDoc
表,则类似于:

INSERT INTO XXAArcDoc ( ArcDocINr, SWorte )
SELECT ArcDocINr,
       LISTAGG( SWort, ';' ) WITHIN GROUP ( ORDER BY ArcSWINr )
FROM   XXAArcSW
GROUP BY ArcDocINr

您正在查找LISTAGG我建议您显示一些示例数据,更重要的是,显示所需的输出。@jeff6times7使用示例数据和所需输出进行了更新。这给了我一个错误:表XXAArcSW的未知字段[LISTAGG(SWort,;)]。但如果我重新订购ArcDocINr和LISTAGG,它就可以工作了。你能给我一个例子,把这个放进一个Insert语句吗?@F.Baum example已添加。
INSERT INTO XXAArcDoc ( ArcDocINr, SWorte )
SELECT ArcDocINr,
       LISTAGG( SWort, ';' ) WITHIN GROUP ( ORDER BY ArcSWINr )
FROM   XXAArcSW
GROUP BY ArcDocINr