[英]how to select from two not joined tables in mysql
我有两个没有公共列的表。 但是有关系。 我有table1,table2。 表1如下:
t1.ID | t1.Name | t1.Number
其中Name是唯一值。
table2如下:
t2.ID | t2.Number1 | t2.Number2 | t2.Country
我的查询如下:
select t1.Name, t1.Number, t2.country
from db.t1, db.t2
where t1.Number between t2.Number1 AND t2.Number2
查询的结果是,我两次获得每条记录。 但是,当我添加:
group by t1.Name
我得到正确的结果(每个记录一次)。 我不想使用分组依据。 如何进行正确的查询,我是否两次获得相同的记录却没有分组依据?
尝试使用DISTINCT
:
SELECT DISTINCT 1.Name, t1.Number, t2.country
FROM db.t1, db.t2
WHERE t1.Number BETWEEN t2.Number1 AND t2.Number2
这两个表应该至少有一个共同的列。 否则,您只会得到重复的值。
至少据我所知是这种情况。
select t1.Name ,t1.Number from t1
union
select t2.Number1 ,t2.Number2 from t2
在这种情况下,您可以使用并集。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.