1

私の結果は論理的ではありません。次のクエリを実行すると、イベントが1 つだけ取得されます

SELECT name, venue, location, start_time, eid FROM event 
WHERE eid IN (
       SELECT eid FROM event_member 
       WHERE (uid IN (SELECT uid2 FROM friend WHERE uid1 = me())  OR uid = me())
   )
AND start_time > now()
AND venue.latitude  < '-22.821757'
AND venue.latitude  > '-23.056989'

結果:

{
  "data": [
    {
      "name": "Beijaço de recepção ao Papa Bento XVI", 
      "venue": {
        "street": "", 
        "city": "", 
        "state": "", 
        "country": "", 
        "latitude": -22.97444595952, 
        "longitude": -43.187243996668, 
        "id": 152289418168750
      }, 
      "location": "Praia Copacabana - Rio de Janeiro - Brasil", 
      "start_time": "2013-07-23T14:00:00", 
      "eid": 304646919571378
    }
  ]
}

しかし、緯度の制限の 1 つだけを設定して最後の行を削除すると、次のような完全なクエリで確実に表示されるはずの結果を含む、一連の結果が得られます。

{
  "name": "Wobble apresenta: RUIDO", 
  "venue": {
    "id": 245734958851552
  }, 
  "location": "00 Rio de Janeiro", 
  "start_time": "2013-02-15T22:00:00-0200", 
  "eid": 132007820298359
}, 

どの会場が「緯度」を持っているか: -22.978986942704

それはバグですか、それとも何か間違っていますか?

http://itouchmap.com/latlong.html - アカウントでテストしたい場合に緯度を確認するには

https://developers.facebook.com/tools/explorer/ - Facebook のグラフ API エクスプローラー

4

1 に答える 1

1

数字ではなく文字列を比較しています。

-22     > -23     = true
'-22'   > '-23'   = false
-22.9   < -22.8   = true
'-22.9' < '-22.8' = false
于 2013-01-29T23:44:25.013 に答える