2017-06-23 10 views
0

私のAzure Cloud Portalで2つのMobileServiceTablesを結合するクエリを作成しようとしています。Azure MobileServiceTable(Android)の2つのテーブルを照会するときに結合を使用する方法

現在、ここに私のコードです。

List<Post> followTable = mPostTable.where().field("userId").ne(mUser.getUserId()).orderBy("createdAt", QueryOrder.Descending).execute().get(); 
      mPostTable.where().field("userId").ne(mUser.getUserId()).orderBy("createdAt", QueryOrder.Descending).execute().get(); 
      final List<Post> returnTable = new ArrayList<Post>(); 
      for(Post p : followTable){ 
       if(doesFollowingExist(mUser.getUserId(), p.getId()).size() > 0 
       && !doesFollowingExist(mUser.getUserId(), 
       p.getId()).get(0).isRemoved()){ 
        returnTable.add(p); 
        p.setFollowed(true); 
       } 
      } 

まず、ユーザーが書き込んでいない投稿をすべて見つけます。次に、ユーザーが投稿をフォローしているかどうかを確認するための簡単なテストを実行します。彼が持っていれば、新しいリストに追加されます。しかし、この方法では、私はすべての単一の投稿を見てから、それぞれの個人について次のチェックを行う必要があります。

明らかに、これを行うには間違った方法であり、それは永遠にかかります。私が尋ねるのは、これらの2つのテーブルを結合して、ユーザーが1つのクエリで追跡したすべての投稿を取得できるようにする方法です。私はそれを行う方法を見つけることができないようです。

+0

私は別のスレッドでこれを答えました。それをチェックしてください! https://stackoverflow.com/a/49072418/6224552 –

答えて

0

Azure Mobile AppsクライアントSDKでは、joinのような操作を含まない単純な操作を行うことができます。あなたがそれをしたい場合は、バックエンドでカスタムAPIを作成し、アンドロイドアプリのようなモバイルエンドでカスタムAPIを呼び出す必要があります。

同様のSOスレッドAzure mobile app query inner join with javaがあります。これは、私の答えを参照することができます。

+0

ありがとう!私は実際にはテーブルビューを使用してこれを解決しました。私は解決したものとしてこれを設定します。 – user3773279

関連する問題