SQL加入两个没有关系的表

时间:2013-07-30 17:35:25

标签: sql database join datatable

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

问题在于他们不在该列中共享信息。

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;

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

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分:0)

问题在于他们不在该列中共享信息。

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


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

SELECT Name FROM Table1 t1
JOIN Table2 ON (t1.Name=t2.Name)