假设我关注了很多好友,每个好友关注的时间不同,我现在需要查询出我关注该好友之后,该好友的动态信息,假设表结构如下:
--假设MemberId为我(编号为1),FriendId为好友ID,AddTime为好友时间 create table TB_MyFriend ( ID int identity primary key, MemberId int, FriendId int, AddTime datetime ) --消息表,MemberId为发布者的ID create table TB_News ( ID int identity primary key, MemberId int, Info nvarchar(500), AddTime datetime )
我想通过一个查询语句把好友消息读取出来,应该怎么做
你是要根据什么来查?个人Id可能存在多个好友Id嘛?
不知道我是不是可以这样理解
create table TB_MyFriend
( ID int identity primary key, MemberId int, FriendId int, AddTime datetime )
--消息表,MemberId为发布者的ID
create table TB_News ( ID int identity primary key, MemberId int, Info nvarchar(500), AddTime datetime )
消息表中的MemberId与好友表中的好友Id相关联起来?如果是的话,sql如下:
select MemberId as myId, FriendId,mf.AddTime as AddTime,n.Info as Content ,n.AddTime as SetUpTime from TB_MyFriend mf left join TB_News n on mf.FriendId=n.MemberId where mf.MemberId=个人Id
我想复杂了,你是对的,脑子混沌了
@imluzhi: 额,可是这个不是存储过程的啊,我还在想存储过程呢,好久没有接触存储过程了
@夕边日落: 不用想了
create pro FindFirend
(
@MemberId int
)
select
from TB_MyFriend f,TB_News n
where f.MemberId=@MemberId and f.AddTime>n.AddTime and n.MemberId=f.FriendId
@imluzhi: 哦哦,原来存储过程这么简单呀?嘿嘿。。。。