簡體   English   中英

在兩個不同列上的MYSQL查詢

[英]MYSQL query on two different columns

我有一個存儲ID,字段名稱和字段值的表。 我需要搜索兩個不同的字段,其中的ID相同,並且使用BETWEEN比較從兩列中獲取字段值。

這是表的示例:

lid  |  field_name  | field_value
 1   |     lat      |  32.409172
 1   |     lng      | -90.13618300000002
 2   |     lat      |  38.409172
 2   |     lng      | -92.13618300000002

等等。 這個想法是讓lat在X和Y之間,而lng在A和B之間。

您可以進行自聯接以在一行中具有緯度和經度,然后可以根據需要應用where子句:

SELECT lid, lat.field_value AS lat, lng.field_value AS lng
FROM table lat
INNER JOIN table lng
ON lat.lid = lng.lid AND lng.field_name = "lng"
WHERE (lat.field_value BETWEEN x AND y
OR lng.field_falue BETWEEN a AND b)
AND lat.field_name = "lat"

這是lng在50到60之間,緯度在70到80之間的所有LID。我假設您的表名為“ table”

select t1.lid
from table t1
join table t2 on t1.lid=t2.lid
where t1.field_name='lng'
and t1.field_value between 50 and 60 
and t2.field_name='lat'
and t2.field_value between 70 and 80 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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