日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

oracle主从关系表查询,Oracle 主从表联合查询解决方法

發布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle主从关系表查询,Oracle 主从表联合查询解决方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle 主從表聯合查詢

表A

id???type???name

1????E??????AA

2????F

表B

id???Aid????name

1????2??????BB

2????2??????CC

表B?是表A的子表

如果表A中的type是F,就需要根據Aid?去表B里找對應的name,然后拼接起來

數據庫是Oracle10G?需要查詢的結果:

Aid?????type?????name

1???????E????????AA

2???????F????????BB,CC

------解決方案--------------------

with?a?as(

select?1?id,'E'?type,'AA'?name?from?dual

union?all

select?2,'F',null?from?dual

),b?as(

select?1?id,?2?aid,?'BB'?name?from?dual

union?all

select?2,2,'CC'?from?dual

)

select?a.id,?a.type,?wm_concat(nvl(a.name,?b.name))

from?a,?b

where?a.id?=?b.aid(+)

group?by?a.id,?a.type;

ID?TYPE?WM_CONCAT(NVL(A.NAME,B.NAME))

----------?----?--------------------------------------------

1?E????AA

2?F????BB,CC

------解決方案--------------------

WITH?TABLE1?AS(

SELECT?'1'?AS?Aid,?'E'?AS?type,'AA'?as?name?FROM?dual

union?all

SELECT?'2'?AS?Aid,?'F'?AS?type,''?as?name?FROM?dual

union?all

SELECT?'3'?AS?Aid,?'F'?AS?type,''?as?name?FROM?dual

union?all

SELECT?'4'?AS?Aid,?'A'?AS?type,'FF'?as?name?FROM?dual

),

TABLE2?AS?(

SELECT?'1'?AS?id,?'2'?AS?Aid,'BB'?as?name?FROM?dual

union?all

SELECT?'2'?AS?id,?'2'?AS?Aid,'CC'?as?name?FROM?dual

union?all

SELECT?'3'?AS?id,?'3'?AS?Aid,'DD'?as?name?FROM?dual

union?all

SELECT?'4'?AS?id,?'3'?AS?Aid,'EE'?as?name?FROM?dual

)

SELECT?T1.Aid,

T1.TYPE,

LISTAGG(nvl(T1.NAME,?T2.NAME),',')WITHIN?GROUP(ORDER?BY?id)?AS?NAME

總結

以上是生活随笔為你收集整理的oracle主从关系表查询,Oracle 主从表联合查询解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。