我需要連接2個類似查詢的結果。出於某種原因,必須將原始查詢分成兩部分,兩部分都用相應的order by子句。應該是這樣的(這是原始查詢的過於簡單化)PL SQL連接2結果集
Query1: Select name, age from person where age=10
Resultset1:
Person1, 10
Person3, 10
Query2: Select name, age from person where age=20
Resultset1:
Person2, 20
Person6, 20
The expected result:
Person1, 10
Person3, 10
Person2, 20
Person6, 20
我不能簡單地使用查詢1 UNION QUERY2。
下面的2個原裝querys: (#1)
select cp.CP_ID, cpi.CI_DESCRIPCION, cp.CP_CODIGOJERARQUIZADO, cp.CP_ESGASTO as gasto, cp.CP_CONCEPTOPADRE, LEVEL
from TGCCP_ConceptoPagoIng cp
left join tgcci_ConceptoPagoIngIdioma cpi on cpi.CI_IDCONCEPTOPAGOING = cp.CP_ID and cpi.CI_IDIDIOMA = 1
start with ((CP_CONCEPTOPADRE is null) and (**cp.CP_ESGASTO = 1**))
connect by prior cp.CP_ID = cp.CP_CONCEPTOPADRE
order siblings by CP_CODIGOJERARQUIZADO
(#2)
select cp.CP_ID, cpi.CI_DESCRIPCION, cp.CP_CODIGOJERARQUIZADO, cp.CP_ESGASTO as gasto, cp.CP_CONCEPTOPADRE, LEVEL
from TGCCP_ConceptoPagoIng cp
left join tgcci_ConceptoPagoIngIdioma cpi on cpi.CI_IDCONCEPTOPAGOING = cp.CP_ID and cpi.CI_IDIDIOMA = 1
start with ((CP_CONCEPTOPADRE is null) and (**cp.CP_ESGASTO = 2**))
connect by prior cp.CP_ID = cp.CP_CONCEPTOPADRE
order siblings by CP_CODIGOJERARQUIZADO
不知道你想要什麼。你有兩個結果集......作爲遊標? PL/SQL的表?還有別的嗎?你想要一個遊標?一個PL/SQL表?還有別的嗎? –
我有兩個查詢,但需要將它們合併爲1,所以我不必在應用程序的一端做額外的處理。1個查詢,1個結果集而不是2個 – john
因此,您想要的是將這兩個查詢組合到一個單一的結果集中,而不是單個查詢中,這聽起來像? 簡單地組合結果集並不會節省很多時間(如果有的話)。 – moleboy