простая проблема SQL-запроса - PullRequest
1 голос
/ 15 мая 2011

У меня есть две таблицы.

местоположение, которое содержит широту, долготу и идентификатор некоторого города

poi, который содержит список poi с уникальным идентификатором

Я пытаюсь выбрать все POI в радиусе

SELECT location.id, longitude, latitude (6371 * acos(cos(radians(46.4166268823293)) * cos(radians(latitude)) * cos(radians(longitude) - radians(-1.5623357632014)) + sin(radians(46.4166268823293)) * sin(radians(latitude)))) AS distance 
FROM location,poi 
WHERE poi.id = location.id
HAVING distance < 20
ORDER BY distance LIMIT 0 , 20

Так что я выбираю все места, которые находятся внутри моего 20-километрового радиуса. идентификатор местоположения связан с уникальным идентификатором таблицы PO, поэтому я пытаюсь объединить две таблицы

Но соединение, похоже, не работает. Попробуйте этот запрос на phpMyAdmin, он показывает только id, longitute и latitue, но не показывает поле таблицы POI (которое вставлено в ..)

Может кто-нибудь может мне помочь? спасибо

Ответы [ 3 ]

1 голос
/ 15 мая 2011

Вы не выбрали ни одного поля пои.Попробуйте SELECT ... poi.* FROM ...

0 голосов
/ 15 мая 2011

Но вы не выбираете поле из POI, как вы ожидаете, что это поле будет в наборе результатов?

Select location.id, POI.Field-from-POI, longitude, latitude ...
0 голосов
/ 15 мая 2011

Это единственные поля в предложении выбора. Если вы делаете

SELECT POI.*,location.id, longitude, latitude 

Вы бы увидели больше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...