簡體   English   中英

如何從兩個未連接的表中選擇MySQL

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM