2017-05-09 45 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

我再次阅读,看起来你正在试图匹配列,但他们的名字是不同的。在这种情况下,你可以像我的编辑一样。 –

相关问题