すべての未読 inbox の本文と送信者を取得しようとしています。
未読メッセージのあるすべての会話のスレッドを取得するには、次のクエリを使用しました。
SELECT thread_id from unified_thread WHERE folder='inbox' AND unread=1
スレッドの未読メッセージを取得するには、このクエリを使用しました
SELECT sender,body FROM unified_message WHERE unread=1
次のネストされたクエリを試しました:
SELECT sender,body FROM unified_message WHERE thread_id IN (SELECT thread_id FROM unified_thread WHERE folder = 'inbox' AND unread=1) AND unread=1"
しかし、すべての未読スレッドではなく、1 つのスレッドからのみ未読メッセージを取得します。
次のようなマルチクエリも試しました。
String query1="SELECT thread_id FROM unified_thread WHERE folder='inbox' AND unread=1";
String query2="SELECT timestamp,sender,body FROM unified_message WHERE unread=1 AND thread_id IN (SELECT thread_id FROM #query1)";
Bundle params = new Bundle();
JSONObject jsonFQL=new JSONObject();
try {
jsonFQL.put("query1",query1);
jsonFQL.put("query2",query2);
} catch (JSONException e) {
e.printStackTrace();
}
params.putString("method","fql.multiquery");
params.putString("queries", jsonFQL.toString());
new Request(session,"/fql",params,HttpMethod.GET,new Request.Callback(){
public void onCompleted(Response response) {
...
}
).executeAsync(); ....
しかし、私はエラーが発生しました:
errorMessage: サポートされていないメソッド、fql.multiquery
次に、INNER JOIN で試しました。
SELECT unified_message.sender,unified_message.body
FROM unified_message
INNER JOIN unified_thread
ON unified_message.thread_id=unified_thread.thread_id
WHERE unified_thread.unread=1
しかし、私はこのエラーが発生しました:
パーサー エラー: 位置に予期しない 'INNER' があります...
JOIN が FQL でサポートされていないことを知りました
誰かがFQLでこのクエリを実行する手を貸してくれませんか??
必要な出力の例: さまざまな人と 5 つの会話をしていますが、未読メッセージがあるのは 3 つの会話だけです。だから私はこのようなものを取得したいと思います:
UNREAD MESSAGES
Sender: Anna
Body: hello dude
Body: how are you?
Body: I miss you
Sender: John
Body: please help me
Sender: Erick
Body: nice
Body: buddy