我有不同的表具有相同的结构,我想通过其中一个列加入它们。
问题在于他们不在该列中共享信息。
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;
我知道我的查询是错误的,因为我正在调用更多我想要的列,但我不确定如何在一列中加入所有内容。我怎么能做到这一点?
答案 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)