2016-08-26 6 views
0
SELECT DISTINCT  
      city_latitude.post_id, 
      city_latitude.meta_value as charity_latitude, 
      city_longitude.meta_value as charity_longitude, 
      ((ACOS(SIN(%f * PI()/180) * SIN(city_latitude.meta_value * PI()/180) + COS(%f * PI()/180) * COS(city_latitude.meta_value * PI()/180) * COS((%f - city_longitude.meta_value) * PI()/180)) * 180/PI()) * 60 * 1.1515) AS distance, 
      FxFfekP0_posts.post_title 
      FROM 
      FxFfekP0_postmeta AS city_latitude 
      LEFT JOIN FxFfekP0_postmeta as city_longitude ON city_latitude.post_id = city_longitude.post_id 
      INNER JOIN FxFfekP0_posts ON FxFfekP0_posts.ID = city_latitude.post_id 
      WHERE city_latitude.meta_key = 'latitude' AND city_longitude.meta_key = 'longitude' 
      HAVING distance < %d 
      ORDER BY distance ASC 

どのようにこのクエリに追加し、charity_nameのカスタムフィールドを列として含めることができますか?私はwordpress.stackoverflow.comでこれを投稿しましたが、それはMySQLの質問のはるかですので、私はここでそれを上に掲示することをお勧めしました:私はWordPressデータベース:mysqlクエリにカスタムフィールドを含める

NOTE ...このいずれかで苦労しています。

未テスト
+0

変更「AND」。その後の 'AND'を 'WHERE'に変更してください – Strawberry

+0

何ですか? @Strawberry – dcolumbus

答えて

0

が、「」にすぐに意味がありません任意のビットのためにちょうど右の検索については、このサイトでなければなりません...

SELECT lat.post_id 
    , lat.meta_value charity_latitude 
    , lon.meta_value charity_longitude 
    , name.meta_value charity_name 
    , geo_distance_km(user_lat,user_lon,lat.meta_value,lon.meta_value) distance 
    , p.post_title 
    FROM FxFfekP0_postmeta lat 
    LEFT 
    JOIN FxFfekP0_postmeta lon 
    ON lon.post_id = lat .post_id 
    AND lon.meta_key = 'longitude' 
    LEFT 
    JOIN FxFfekP0_posts p 
    ON p.ID = lat.post_id 
    LEFT 
    JOIN FxFfekP0_postmeta name 
    ON name.post_id = lat.post_id 
    AND name.meta_key = 'charity_name' 
WHERE lat.meta_key = 'latitude' 
AND geo_distance_km(user_lat,user_lon,lat.meta_value,lon.meta_value) < %d 
     ORDER BY distance ASC 
+0

'geo_distance_km'?確かに@dcolumbus。 – dcolumbus

+0

10月にお会いしましょう。 – Strawberry

+0

...あなたの回答に早く反応しなかったことを謝罪します。私は他の問題に移動しなければならず、私は通知を受け取っていませんでした。 'geo_distance_km'は関数ですが、このクエリが単独で実行されている場合、その関数をどこで定義するべきですか? – dcolumbus

関連する問題