2011-06-28 1 views
0

私は基本的に2つのプライマリ列uidとfid(user/friend id's)を持つfriendテーブルを持っていて、どちらかの方法で行くことができます。例えば、友人が特定のユーザーに戻って来なかったかもしれないし、私はこれをチェックしたいと思う。 、サブクエリはユーザーの友情をチェックするのに理想的でしょうか? (もし彼らが友人であれば)

SELECT fid FROM friends WHERE uid = 20 -- check friends of uid 20 
AND 
    (SELECT uid FROM friends WHERE fid = 20)) = 0 

私はそれがこのように簡単ではないと仮定し(そして0は本当に結果を確認することができるかどうか、それが必要な場合)が行います。

テストされていないが、しかし、私は仕事に、このようなものを想定しましたサブクエリを使用せずにこれを行う方法に関する提案はありますか?または、これは、サーバー側の言語で2つの個別のクエリと結果チェックコードなしで実行できる最適な「ハック」ですか?

私はまた、友人とそれ以外の人であるかどうかを確認したいので、ここからより良い例を利用することができます。

答えて

0

は、あなたのセットの比較であなたを助ける

これらUNIONUNION ALL、およびNOT INを見上げます。

関連する問題