0

私は次のようなテーブルを持っています

1)マスターデータを保持しているユーザー

ユーザーID名OtherColumns
1ばんし何もない
2Banshi2何もない
3Banshi3何もない

2)2番目のテーブル「友達」は次のようなデータを保持します

ID UserID FriendID FriendCategory
1 1 2 2
2 2 1 2
3 4 1 2
4 1 4 2

3)3番目のテーブル「サブスクライバー」は次のようなデータを保持します

IDサブスクライバーIDSubscribToIDFriendCategory
1 1 3 3
2 1 4 3

4)4番目のテーブル「FriendCategory」のような

ID名
2人の友達
3人の加入者

5)5番目のテーブル「投稿」には次のようなデータが含まれています

PostIDUserID投稿           
12こんにちはBanshi2による親愛なる投稿
23こんにちはBanshi3による親愛なる投稿
34こんにちはBanshi4による親愛なる投稿

今ユーザーになっている1私は次のようなデータが必要ですA)友達が投稿した場合はデータが必要ですB)投稿した場合はデータが必要ですc)ユーザーが私の友達でもある場合は友達を表示する必要があります

私のデータのようなもの

ユーザーID名投稿カテゴリ
2Banshi2こんにちはBanshi2フレンズによる親愛なる投稿
3Banshi3こんにちはBanshi3による親愛なる投稿私は購読者です
4Banshi4こんにちはBanshi4フレンズによる親愛なる投稿

SQLServer2008でそのような出力を取得する方法を教えてください

事前にBanshiに感謝します

4

2 に答える 2

0

これを試して、私に知らせてもらえますか?

select u.userid,u.name,p.post,f.name from 
User u join Friends fr on u.userid=fr.userid
join FriendCategory f on fr.FriendID=f.id
join Posts p on u.userid=p.userid
order by u.userid;
于 2012-12-25T16:01:39.590 に答える
0

友達から投稿された場​​合のデータ取得用

SELECT
  u.UserID, u.Name , p.Post , fc.Name 
FROM
  users as u,
  FriendCategory as fc,
  Subscribers as s,
  Friends as f,
  Posts as p 
WHERE
  f.UserID=1
  and fc.id=f.FriendCategory
  and p.UserID = f.FriendID
group by fc.Name

あなたは私が購読しているデータを取得するために同様にそれを行うことができます。

c)ユーザーが私の友達でもある場合は、私が登録されていない友達を表示する必要があります

さて、私はあなたがここで言おうとしていたことを理解できませんでした。

于 2012-12-25T16:01:54.060 に答える