2011-11-11 18 views
0

私はPHPで働いています。これは私のクエリです:placeId地名住所テーブルからデータを取得するにはどうすればよいですか?

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

この場所のテーブルには、3つのフィールドがあります。今度は、上記のクエリの結果であるのplaceIdの評価を計算したいと思います。評価を計算するために、私は別のテーブルの評価を持っています。場所noOfPersonの2つのフィールドがあります。

評価は、各プレースIDについて(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 
関連する問題