0

3 つのテーブルを作成しました。

  • Login(firstname,lastname,age,gender,email)
  • Scraps(email,scrap,posttime)
  • requests(email,frnemail,frnshpstatus,frnpic)

これらの 3 つのテーブルを接続して、ユーザーによって投稿されたスクラップと、リクエスト テーブルの電子メールに関して frnshpstatus が「Y」である人々によって投稿されたスクラップを表示するクエリが必要です。

4

2 に答える 2

0

これを試して:

select * from scraps where email in(
select r.frnemail
from [Login] l inner join requests r
on l.email=r.email and r.frnshpstatus = 'Y'
where l.email=@useremail)
于 2012-08-25T04:55:32.767 に答える
0

結合クエリを試すことができます。

DECLARE @usrEmail varchar(255) // Set the users email you are getting.

SELECT l.*, s.scrap, s.posttime
FROM Login l
LEFT JOIN Scraps s
ON l.email = s.email
WHERE l.email = @usrEmail

// Use a UNION query to also get scraps left by the users friend.
// Im assuming the friends would have entries in the login column as well.
UNION ALL

SELECT l.*, s.scrap, s.posttime
FROM Login l
LEFT JOIN Scraps s
ON l.email = s.email
WHERE l.email IN (SELECT frnshpEmail FROM requests WHERE email = @usrEmail AND frnshpStatus = 'Y') // This will create a list of all the users that are also have a frnshp with the user.

requests テーブルをどのように使用しているかわかりません。詳細を教えていただければ、具体的にお手伝いしますが、私が持っている情報で、何をすべきかがわかると思います。

于 2012-08-25T04:25:33.670 に答える