2017-05-09 42 views
0

我試圖合併兩個SELECT請求並將其分組到相同的屬性。使用相同屬性名稱的組SELECT請求

我有兩個表,其中包含很多屬性,有些是共同的(或在「人類語言」中具有相同的含義)。

我已經嘗試了CROSS JOINSELECT * FROM table1 (SELECT * FROM TABLE2))但它不起作用。

例如:

表1:

{[Attribute1 = "Name1", 
Attribute2 = age1, 
Attribute3 = "Bla", 
Attribute4 = "Blabla", 
Attribute5 = 153, 
Attribute6 = "something"] , 
[Attribute1=....,....], ...} 

表2:

{[Attribute1="Name25", 
NotInterestingAttribute1="blabla", 
Attribute15=125, 
Attribute18="somethingElse"], 
[Attribute1=....], ...} 

我的目標是獲得像

FinalTable:

{[Attribute1="Name1", Attribute2=125, Attribute3="something"] , 
[Attribute1="Name25", Attribute2=153, Attribute3="somethingElse"]} 

我真的很抱歉,我試圖做一些真正的表,但我失敗了。

我不知道我是否足夠清楚,請讓我知道如果我不是。

感謝您的幫助!

編輯:

這就是我想要的那一刻使用SELECT請求:

SELECT Attribute1 as Attribute1, 
     Attribute5 as Attribute2, 
     Attribute15 as Attribute2, 
     Attribute6 as Attribute3, 
     Attribute18 as Attribute3 
FROM Table1, Table2 
WHERE Attribute1 like '%name%'; 
+0

你如何得到這個輸出? – Matt

+0

我創建它只是爲了展示一個例子。 我工作的表格非常大,包含一些我不應該上網的機密信息 – toximorph

回答

1

您正在尋找UNION ALL

SELECT Attribute1 as Attribute1, Attribute5 as Attribute2, Attribute15 as Attribute2, Attribute6 as Attribute3, Attribute18 as Attribute3 
FROM Table1 
WHERE Attribute1 like '%name%' 
UNION ALL 
SELECT Attribute1 as Attribute1, Attribute5 as Attribute2, Attribute15 as Attribute2, Attribute6 as Attribute3, Attribute18 as Attribute3 
FROM Table2 
WHERE Attribute1 like '%name%' 

但是,如果場均名每個表上使用不同的別名,以便它們在同一個字段上對齊

SELECT Attribute1 as Attribute1, Attribute5 as Attribute2, Attribute6 as Attribute3 
FROM Table1 
WHERE Attribute1 like '%name%' 
UNION ALL 
SELECT Attribute1 as Attribute1, Attribute15 as Attribute2, Attribute18 as Attribute3 
FROM Table2 
WHERE Attribute1 like '%name%' 
+0

我確實是! 我很快試過,但顯示「No database selected」錯誤。 也許我做錯了,我會明天嘗試一下MySQL文檔。非常感謝 ! – toximorph

+0

好吧,看起來像你沒有連接到數據庫。但這是一個不同的問題。 –

+0

我再次閱讀,看起來你正在試圖匹配列,但他們的名字是不同的。在這種情況下,你可以像我的編輯一樣。 –

相關問題