查询两张表中的不同数据在一张表中

时间:2021-08-11 00:46:13
我有一张人员信息表usersnfo,里面有很多个人信息(字段略)。还有一张表是访问表visit,有id,visiterid,userid,visittime 四个字段,里面记录了人员信息表的成员中,谁给谁留言了,或者是谁访问了谁。现在知道了我的ID是session["userid"],现在我需要在一张表中查出是谁访问过我,或者是谁给我留言了。并显示他们的 个人信息,用于帮定DATALIST控件。我该怎样写语句。请各位老师指教。

14 个解决方案

#1


你描述的实在很不杂地, 而且我也没看到留言那字段,基本写法

select * from visit a 
left join usersnfo where a.visiterid=b.id
where userid=session["userid"]

#2


自己想。

#3



SELECT U.*
FROM [visit] V
JOIN [usersnfo] U ON V.[userid]=U.[id]
WHERE V.[visiterid]=@visiterid

#4


T-SQL 语句我学了好几次,我的意思是说,如果单独查找 留言表visit中,谁给我留言了,那很简单,
select * from  visit  where  userid = session["userid"],可是这样查出来,只有给我留言的用户名和他们留言的内容。但是没有他们的照片。他们的照片在信息表usersinfo中啊。怎么办呢

#5


select * from visit a
inner join usersinfo b on a.userid=b.userid
where a.userid = session["userid"]

#6


晕啊哥,大家不是都告诉你了吗
select * from visit a
inner join usersinfo b on a.userid=b.userid
where a.userid = session["userid"]

#7


那样查出的虽然有几条记录,但都是同一个人啊。其实表中访问登录者的是很多人啊。

#8


T-SQL 语句我学了好几次,我的意思是说,如果单独查找 留言表visit中,谁给我留言了,那很简单,
select * from visit where userid = session["userid"],可是这样查出来,只有给我留言的用户名和他们留言的内容。但是没有他们的照片。他们的照片在信息表usersinfo中啊。怎么办呢

#9


核心是将usersinfo中的照片和visit中的人按相同ID生成一张表

#10


很简单
select * from usersinfo where id in(select id from visit where userid = session["userid"] )
楼主 出来给分啦

#11


10楼的做法又查不出留言的内容

#12


你是要查出留言内容,还是查出访问者信息

如果是要查留言内容,那么visit表中有记录留言内容吗?如果有,那么直接就可以查出来。

如果要查访问者信息,那么10楼就查出来了。

如果要查2者信息,
select a.留言内容,b.* from visit a left join usersinfo b on a.id=b.id where a.userid = session["userid"]

#13


谢谢各位,问题解决了

#14


该回复于2012-07-24 21:23:16被版主删除

#1


你描述的实在很不杂地, 而且我也没看到留言那字段,基本写法

select * from visit a 
left join usersnfo where a.visiterid=b.id
where userid=session["userid"]

#2


自己想。

#3



SELECT U.*
FROM [visit] V
JOIN [usersnfo] U ON V.[userid]=U.[id]
WHERE V.[visiterid]=@visiterid

#4


T-SQL 语句我学了好几次,我的意思是说,如果单独查找 留言表visit中,谁给我留言了,那很简单,
select * from  visit  where  userid = session["userid"],可是这样查出来,只有给我留言的用户名和他们留言的内容。但是没有他们的照片。他们的照片在信息表usersinfo中啊。怎么办呢

#5


select * from visit a
inner join usersinfo b on a.userid=b.userid
where a.userid = session["userid"]

#6


晕啊哥,大家不是都告诉你了吗
select * from visit a
inner join usersinfo b on a.userid=b.userid
where a.userid = session["userid"]

#7


那样查出的虽然有几条记录,但都是同一个人啊。其实表中访问登录者的是很多人啊。

#8


T-SQL 语句我学了好几次,我的意思是说,如果单独查找 留言表visit中,谁给我留言了,那很简单,
select * from visit where userid = session["userid"],可是这样查出来,只有给我留言的用户名和他们留言的内容。但是没有他们的照片。他们的照片在信息表usersinfo中啊。怎么办呢

#9


核心是将usersinfo中的照片和visit中的人按相同ID生成一张表

#10


很简单
select * from usersinfo where id in(select id from visit where userid = session["userid"] )
楼主 出来给分啦

#11


10楼的做法又查不出留言的内容

#12


你是要查出留言内容,还是查出访问者信息

如果是要查留言内容,那么visit表中有记录留言内容吗?如果有,那么直接就可以查出来。

如果要查访问者信息,那么10楼就查出来了。

如果要查2者信息,
select a.留言内容,b.* from visit a left join usersinfo b on a.id=b.id where a.userid = session["userid"]

#13


谢谢各位,问题解决了

#14


该回复于2012-07-24 21:23:16被版主删除