2017-10-07 70 views
-1
Table 1        Table 2 

Column1 Column2 Column3   Column4 Column5 Column3 
------- ------- -------   ------- ------- ------- 
A   1   a    E   10   a 
B   2   b    F   11   b 
C   3   c    G   12   c 
D   4   d    H   13   d 


Table 3        Table 4 

Column6 Column7 Column4   Column8 Column9 Column6 
------- ------- -------   ------- ------- ------- 
I   20   E    M   30   I 
J   21   F    N   31   J 
K   22   G    O   32   K 
L   23   H    P   33   L 

期望輸出如何在不使用公共列的情況下連接兩個表?

Column1 Column9 
------- ------- 
C   31 
C   32 
C   33 

如何得到的輸出看上面的預期?

這是針對我目前正在使用的Oracle SQL課程。儘管這些表格有共同的列,但問題NOT要使用公共列,而是使用不同的列來獲得預期的輸出,同時消除重複項。

+1

你到目前爲止嘗試過什麼..?另外如果您使用的是Oracle,請不要標記mysql,sql-server等。 –

+2

數據表的關聯是什麼?爲什麼第1列只需要C? –

+0

我需要從column1中選擇一個特定的人,並從column9中選擇他們購買的書籍。第1欄中的人可能有多次購買。 – xwmaxx

回答

0

鑑於貼結構,本聲明

select tableA.column1 
     , tableD.column9 
from tableA 
     cross join tableD 
where tableA.column1 = 'C' 
and tableD.column9 > 30 

...會產生預期的輸出。顯然,它作爲一個查詢是沒有意義的,所以它是這個問題的一個合適的答案。

說明:如果OP使用適當的數據模型和實際數據編輯它們的問題,那麼我當然會編輯我的答案,使其更加明智。

+0

感謝您的幫助,但我找到了答案,我也列出了列3(表1,表2),列4(表2,表3),列6(表3,表4) – xwmaxx

+0

所以如果答案是不加入那些列是什麼? – APC

相關問題