2017-02-23 33 views
0

我試圖寫這樣的東西。關於outter查詢數據的Oracle子查詢

SELECT x, 
,y 
,(Select z from innerTable where innerTable.this = outterTable.that 
FROM outterTable 
where blahblah 

基本上,這個特定的列我想映射到另一個表中的值。但是,當我嘗試這樣做時,SQLDeveloper只會將我的Select語句打印爲列標題,並在其下面有空值。

+1

爲什麼不使用連接? – JohnHC

+0

你可以請張貼一些樣本數據和需要的結果嗎?你的表的命名是相當混亂的:爲什麼你查詢「外」表,如果它是「外」? – Aleksej

+0

我不想使用連接,因爲此映射僅適用於一列。作爲一個子查詢來做它似乎更清晰。 – Steve

回答

0

你可以給列一個別名來解決標題:

select x, y, 
     (Select z from innerTable where innerTable.this = outterTable.that 
     ) as z 
from outterTable 
where blahblah; 

然而,NULL值是因爲沒有比賽,所以這是一個不同的問題。

+2

如果z表中有多個值,這會如何表現? – JohnHC

+1

@JohnHC。 。 。 OP指出查詢運行。在這種情況下,它會返回一個錯誤,但這似乎不成問題。 –

+0

感謝您的別名評論。當我這樣做的時候自己選擇子查詢,但是它的工作原理是用一個硬值來代替outter表值。這些值似乎在每個表格中都匹配。所以這就是爲什麼我認爲它必須是我的子查詢語法的問題 – Steve