2016-12-17 19 views
1

私は友人の新しいプロジェクトで相互の友人を得ようとしています。 2つの異なるクエリがあり、それらをINNER JOINと組み合わせる必要があります。2つのSQLクエリをINNER JOINと組み合わせる

これらの2つのクエリを組み合わせて、プロジェクトで相互の友人を得るにはどうすればよいですか?

ありがとうございました。

クエリ#1:

SELECT * 
FROM [Register] 
WHERE RegisterId IN (SELECT MyId 
        FROM Friends 
        WHERE FriendId='" + Session["CurrentProfileId"] + "' 
         AND Status = 1 
        UNION 
        SELECT FriendId 
        FROM Friends 
        WHERE MyId='" + Session["CurrentProfileId"] + "' 
         AND Status = 1) 

クエリ#2:

SELECT * 
FROM [Register] 
WHERE RegisterId IN (SELECT MyId 
        FROM Friends 
        WHERE FriendId='" + Session["CurrentProfileId"] + "' 
         AND Status = 1 
        UNION 
        SELECT FriendId 
        FROM Friends 
        WHERE MyId='" + Session["CurrentProfileId"] + "' 
         AND Status = 1 
         AND '" + Session["UserId"] + "' != '" + Session["CurrentProfileId"] + "') 

Related Link

+0

サンプルデータと望ましい結果は、単に「結合」というよりはるかに役立ちます。 –

+0

私はちょうどテキストの最後に "関連リンク"を共有しました。 DBデザインがそのリンクに示されています。助けてください。ありがとう。 –

答えて

0

私はセッションの[ユーザーID]とセッション[CurrentProfileId]の違いは何であるか理解していません。特定のユーザー@USER_IDの友人であるユーザーのリストを取得したいとします。

SELECT r.RegisterId,r.Name 
FROM Register r 
    JOIN Friends f ON f.MyId=r.RegisterId and f.Status=1 
WHERE [email protected]_ID 
UNION 
SELECT r.RegisterId,r.Name 
FROM Register r 
    JOIN Friends f ON f.FriendId=r.RegisterId and f.Status=1 
WHERE [email protected]_ID 
+0

このクエリと「クエリ#2」の違いは何ですか? –

関連する問題