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