请问一条SQL语句,两个表联合查询的

请教一条SQL语句,两个表联合查询的
数据表结构:
表A
ID   
1
2
3

表B
ID    name
1       张三
2        李四
2        张三
3       王五
3       李四

期望的查询结果是
ID    NAME
1       张三
2       李四||张三
3      王五||李四

联合条件是ID相等。
------解决方案--------------------
引用:
数据表结构:
表A
ID   
1
2
3

表B
ID    name
1       张三
2        李四
2        张三
3       王五
3       李四

期望的查询结果是
ID    NAME
1       张三
2       李四
------解决方案--------------------
张三
3      王五
------解决方案--------------------
李四

联合条件是ID相等。


WITH TT AS
 (SELECT 1 ID
    FROM DUAL
  UNION ALL
  SELECT 2 ID
    FROM DUAL
  UNION ALL
  SELECT 3 ID
    FROM DUAL
  UNION ALL
  SELECT 4 ID
    FROM DUAL),
T AS
 (SELECT 1 ID, 'ZS' NM
    FROM DUAL
  UNION ALL
  SELECT 2 ID, 'ZS' NM
    FROM DUAL
  UNION ALL
  SELECT 2 ID, 'LS' NM
    FROM DUAL
  UNION ALL
  SELECT 3 ID, 'ZS' NM
    FROM DUAL
  UNION ALL
  SELECT 3 ID, 'WW' NM
    FROM DUAL)
SELECT TT.ID, T3.NM
  FROM TT,
       (SELECT T2.ID, ltrim(max(SYS_CONNECT_BY_PATH(t2.NM, '
------解决方案--------------------
')), '
------解决方案--------------------
') NM
          FROM (SELECT T.*, ROW_NUMBER() OVER(PARTITION BY ID ORDER BY ID) RN
                  FROM T) T2
        connect by prior rn = rn - 1
               and prior t2.id = t2.id
         GROUP BY T2.ID) T3
 WHERE TT.ID = T3.ID(+);

------解决方案--------------------
引用:
数据表结构:
表A
ID   
1
2
3

表B
ID    name
1       张三
2        李四
2        张三
3       王五
3       李四

期望的查询结果是
ID    NAME
1       张三
2       李四
------解决方案--------------------
张三
3      王五
------解决方案--------------------
李四

联合条件是ID相等。


WITH A AS
 (SELECT 1 ID FROM DUAL  UNION ALL
  SELECT 2 ID FROM DUAL  UNION ALL
  SELECT 3 ID FROM DUAL ),
B AS
 (SELECT 1 ID, '张三' name FROM DUAL UNION ALL
  SELECT 2, '李四' FROM DUAL UNION ALL
  SELECT 2, '张三' FROM DUAL UNION ALL
  SELECT 3, '王五' FROM DUAL UNION ALL
  SELECT 3, '李四' FROM DUAL)
SELECT A.ID, REPLACE(WMSYS.WM_CONCAT(B.NAME), ',', '
------解决方案--------------------
')
  FROM A, B
 WHERE A.ID = B.ID(+)
 GROUP BY A.ID

------解决方案--------------------
select b.id, b.name
  from 表A a,
       (select id, replace(wm_concat(name), ',', '
------解决方案--------------------
') as name
          from 表B
         group by id) b