如何从mysql中的两个未连接表中进行选择

时间:2012-12-20 13:06:22

标签: mysql

我有两个没有公共列的表。但是有关系。我有table1,table2。表1如下:

t1.ID | t1.Name | t1.Number

名称是唯一值。

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

我得到了正确的结果(每个记录一次)。我不想使用group by。如何进行正确的查询,并且在没有分组的情况下获得相同的记录两次?

3 个答案:

答案 0 :(得分:1)

尝试使用DISTINCT

SELECT DISTINCT 1.Name, t1.Number, t2.country
FROM db.t1, db.t2
WHERE t1.Number BETWEEN t2.Number1 AND t2.Number2

答案 1 :(得分:0)

两个表中应该至少有一列共有。否则,您将只获得重复值。

至少据我所知,情况就是这样。

答案 2 :(得分:0)

select t1.Name ,t1.Number from t1
union
select t2.Number1 ,t2.Number2 from t2

在这种情况下你可以使用union。