Sql Oracle:变量名的多个逗号分隔变量ID

Sql Oracle:变量名的多个逗号分隔变量ID,sql,oracle,Sql,Oracle,这些表包含以下列: 表1: Client_Name | VAR_ID Row 1: SchwabM5-Prodtest-Strategy | 3025,2937 Row 2: SchwabM5-Prodtest-Strategy | 5,7 表2: Client_Name | VAR_ID Row 1: A | 3025 Ro

这些表包含以下列:

表1:

    Client_Name                   | VAR_ID  
Row 1: SchwabM5-Prodtest-Strategy | 3025,2937    
Row 2: SchwabM5-Prodtest-Strategy | 5,7     
表2:

   Client_Name                    | VAR_ID   
Row 1: A                          | 3025  
Row 2: B                          | 5   
Row 1: C                          | 2937   
Row 2: D                          | 7   
问题:我想在一个查询中从上面的表中得到如下输出

Client_Name                       | VAR_ID   
Row 1: SchwabM5-Prodtest-Strategy | A,C       
Row 2: SchwabM5-Prodtest-Strategy | B,D
你能帮我得到查询,从中我可以得到上面的输出吗

CREATE TABLE [dbo].[Table1](
    [name] [nvarchar](50) NULL,
    [var_id] [nvarchar](50) NULL
) 
表1中的数据

SchwabM5-Prodtest-Strategy | 3025,2937    
SchwabM5-Prodtest-Strategy | 5,7 
表2

CREATE TABLE [dbo].[Table2](
    [name] [nvarchar](50) NULL,
    [var_id] [int] NULL
)
表2中的数据

A                          | 3025  
B                          | 5   
C                          | 2937   
D                          | 7  
运行以下查询

WITH [RESULTS]
AS
(
    SELECT  
        [NAME]
       ,CAST ('<Nodes><Node>' + replace([var_id],',','</Node><Node>') + '</Node></Nodes>' AS XML) NODEXML
    FROM [dbo].Table1
)
SELECT [NAME] ,
        STUFF((SELECT ',' + [name] FROM [dbo].Table2 WHERE var_id IN 
                ( 
                    SELECT  tab.col.value('.','int') FROM NODEXML.nodes('//Node') AS tab(col)
                ) FOR XML PATH('')),1,1,'') CONTENT
FROM RESULTS

不要在列中存储逗号分隔的值。在数据处理过程中,它会带来痛苦您使用的是哪种DBMS?它是一个oracle表您如何知道Abhirup Dhar正在使用SQL Server?它是一个oracle表