2016-03-04 166 views
0

我有一個交給我的大查詢。在將其轉換爲DB2查詢之後,我需要添加一個新列,它將基本上提供查詢中已有的另一列的更多細節。將列添加到來自其他查詢的DB2查詢

例如我有查詢1和查詢2.我想從查詢2採取F欄和附加它根據列的內容來查詢1 C.

下面是查詢2的一般上下文中:

SELECT TableD.ColumnD, TableE.ColumnE, TableF.ColumnF 
    FROM TableD, TableE, TableF 
    WHERE TableD.ColumnD = TableE.ColumnX 
    AND TableE.ColumnE = TableF.ColumnY 

什麼是有效的方法去做這件事?

enter image description here

+0

你能提供你的第一個查詢嗎?只要'將它加入到'column c'和'column d'上的第二個查詢並選擇'f列'...同樣你最好在'from'子句中使用隱式'join'與逗號。 – sgeddes

+0

@sgeddes我可以提供第一個查詢。但正如我所說,這是非常大的,我不是真的在重寫一個安全的格式,以便在SO上發佈查詢。如果真的有必要,我會編輯原文。我會告訴你的是,這是一個標準查詢,其中n列從6個表格拉到9個表格,其中包含大量的where子句,並由使用UNION ALL的3個子查詢組成。 –

回答

1

這個怎麼樣?

with q1 as (
     <first query here> 
    ), 
    q2 as (
     <second query here> 
    ) 
select q1.*, q2.f 
from q1 left join 
    q2 
    on q1.c = q2.d; 
+0

我會嘗試一下並回復你。 –

+0

這是完美的。正是我需要的。無需爲了處理單個相關列而亂搞大型查詢。謝謝。 –