5

我有具有相同结构的不同表,我想通过它们的一列加入它们。

问题是他们不共享该列中的信息。

Table 1 - Type A:

Name | Value

Table 2 - Type B:

Name | Value

结果表:

(在单个列中)

nameFromA

nameFromB
...

到目前为止,我已经尝试过:

SELECT TABLE1.NAME, TABLE2.NAME 
FROM TABLE1, TABLE2 
WHERE TABLE1.NAME = 'SearchQuery'
OR TABLE2.NAME = 'SearchQuery' LIMIT 2;

我知道我的查询是错误的,因为我调用了我想要的更多列,但我不确定如何将所有内容加入单个列中。我怎样才能做到这一点?

4

2 回答 2

6

你有没有尝试过?

SELECT TABLE1.NAME
FROM TABLE1
WHERE TABLE1.NAME = 'SearchQuery'

UNION

SELECT TABLE2.NAME
FROM TABLE2 
WHERE TABLE2.NAME = 'SearchQuery';

UNION ALL如果您不想排除重复值,则可能需要使用。

要限制您的结果集,您可以执行以下操作:

SELECT * FROM ( HERE GOES ABOVE QUERY ) LIMIT 2;
于 2013-07-30T17:38:11.887 回答
0

问题是他们不共享该列中的信息。

如果他们没有在您要加入的列中共享任何信息,则加入meaningless.


一个简单的连接看起来像这样:

SELECT Name FROM Table1 t1
JOIN Table2 ON (t1.Name=t2.Name)
于 2013-07-30T17:39:55.570 回答