一般用with可以連線兩個集合,但是遞迴有所不同,通常我們會改寫成如下的錯誤**:
with
report(id,org_name,org_level,parent_org,description)
as (select id,org_name,org_level,parent_org,description from ad_orgtb where id = '111111'
union all select b.id,b.org_name,b.org_level,b.parent_org,b.description from report a,ad_orgtb b where b.id = a.parent_org
) , reportone(id,org_name,org_level,parent_org,description)
as (select id,org_name,org_level,parent_org,description from ad_orgtb where id = '111111'
union all select bb.id,bb.org_name,bb.org_level,bb.parent_org,bb.description from reportone aa,ad_orgtb bb where bb.parent_org = aa.id
) select distinct id,org_name,org_level,parent_org,description from report,reportone
正確的寫法應該如下:
with report(id,org_name,org_level,parent_org,description)
as (select id,org_name,org_level,parent_org,description from ad_orgtb where id = '22222'
union
allselect b.id,b.org_name,b.org_level,b.parent_org,b.description from report a,ad_orgtb b where b.id = a.parent_org)
,report_result(id,org_name,org_level,parent_org,description)
as (
select
distinct id,org_name,org_level,parent_org,description from report order
by org_level,id
),reportone(id,org_name,org_level,parent_org,description)
as (
select id,org_name,org_level,parent_org,description from ad_orgtb where id = '222222'
union
allselect b.id,b.org_name,b.org_level,b.parent_org,b.description from reportone a,ad_orgtb b where b.parent_org = a.id
) ,reportone_result(id,org_name,org_level,parent_org,description) as (
select
distinct id,org_name,org_level,parent_org,description from reportone order
by org_level,id
)select
distinct * from (
select id,org_name,org_level,parent_org,description
from report_result
union
allselect id,org_name,org_level,parent_org,description
from reportone)t
要先將結果集取了,才能放置多個遞迴。 兩個List資料集合合併成乙個List
開發工具與關鍵技術 visual studio 與c 查詢兩個差不多相同的表,乙個是入庫表,乙個是退貨表,字段大致相同,但是有所差異,入庫表的數量和所有金額都是正數,退貨表的數量和金額都是負數,所以不能join鍊錶查詢,需要分開查詢出兩個tolist 但是return只能有乙個,不能return兩次...
C 合併兩個(多個)集合
合併兩個集合 使用語言 c 環境 net core 2.0 當前使用 支援 net 所有環境,我就不多說了 核心 listlistmerge1 list1.union list2 tolist 不允許有重複項 listmerge1 結果 listlistmerge2 list1.concat lis...
db2實現兩個數相減 DB2 日期相減 學步園
這篇短文是為那些剛接觸db2並想理解如何操作日期和時間的新手而寫的。使用過其它資料庫的大部分人都會很驚喜地發現在db2中操作日期和時間是多麼簡單。要使用 sql 獲得當前的日期 時間及時間戳記,請參考適當的db2暫存器 select current date from sysibm.sysdummy...