1

ユーザーがタグ付けされているすべてのチェックインを取得したい (注: 彼自身のチェックインには興味がありません)。私は次のことを試しましたが、これは少し非論理的であり、もちろん機能しませんが、私がやろうとしていることを得ることができます:

SELECT message FROM checkin WHERE tagged_uids IN 
(SELECT uid FROM user WHERE uid = me())

何か案は?

4

1 に答える 1

4

あなたはIN後ろ向きに考えています。探しているクエリは次のとおりです。

SELECT message FROM checkin WHERE me() IN tagged_uids

ただしtagged_uidsindexable ではないため、このクエリを実行する前に、より多くの情報を知る必要があります (実際に誰がチェックインを記録しているかなど)。あなたが試すことができる1つのことは次のとおりです。

SELECT message FROM checkin 
WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 
    AND me() IN tagged_uids

これにより、ユーザーがタグ付けされたすべてのチェックインが検索されます。これは、ユーザーの友人によるものです (おそらく、とにかくそのユーザーをチェックインできる唯一の人です)。

于 2011-07-28T16:21:54.073 に答える