2011-11-11 5 views
0

나는 PHP로 일하고있다. 이것은 내 쿼리입니다 :테이블에서 데이터를 검색하려면 어떻게해야합니까?

$sql = "SELECT * 
     from place as s 
     where checkDistance($lati1,$longi1,s.lat,s.lon)<$dist"; 

이 곳 테이블이 세 개의 필드가 있습니다 placeId,· 지명 및 주소합니다. 이제 위의 쿼리 결과 인 placeId 등급을 계산하고 싶습니다. 등급을 계산하려면 등급이인데 여기에는 placeIdnoOfPerson 두 개의 필드가 있습니다.

등급은 각 placeId에 대해 (noOfPerson/maximum_no_of_person)으로 계산됩니다. 어떻게 구현할 수 있습니까?

답변

2

여기에 작업의 대부분을 할 수 place 표는, 상하 필요가 순위에 의해 주문, 각각의 장소를 사람의 수와 결합에서,이 값을 선택합니다 귀하의 질의 :

SELECT s.placeid, s.PlaceName, s.Address, r.noOfPerson 
FROM place as s JOIN rating as r ON (s.placeid = r.placeid) 
WHERE checkDistance($lati1,$longi1,s.lat,s.lon) 
ORDER BY r.noOfPerson/(SELECT MAX(noOfPerson) FROM rating) DESC 
관련 문제