首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

一个关于查询的SQL话语

2013-04-20 
一个关于查询的SQL语句表1 UserQusetion 数据如下 Questionid TitleQusContentQusUseridAnsUserid InnerDa

一个关于查询的SQL语句
表1 UserQusetion 数据如下

 
Questionid Title   QusContentQusUserid  AnsUserid InnerDate Subject
 2  气候变暖 大气气候变暖     1      2     2012-12-01 地理
 3       1+2=?      不知道答案       3        4     2012-12-01 数学
 4       1/2=?      不知道答案       1        3      2012-12-01 数学

Questionid 自定增长ID
TITLe 问题标题
QuesContent 问题内容
QusUserId  提问人ID
AnsUserid  回答人ID
InnerDate  插入时间
Subject    学科
表2 User  数据如下

Userid  UserName UserStateId
1        小明  1
2 小刚     1
3        小红     1
4        小李     1
5        小赵     1
6        小关     1
7        小张     1

表3  UserAttribute

 ID  UserId   photo
 1    1       /img/1.jpg
 2    2       /img/4.jpg
 3    3       /img/5.jpg
 5    4       /img/8.jpg

这里 User表与UserQusetion 表的关系是 UserId=QusUserid  UserId=AnsUserid 
User表与UserAttribute 的关系是 UserId=UserId
根据sql语句得到一下数据


Questionid Title  QusContent QusUserid QUserName QImg AnsUserid AUserName AImg InnerDate Subject
 2 气候变暖   大气气候变  1   小明   /img/1.jpg     2     小刚     /img/4.jpg 2012-12-01 地理
 3       1+2=?      不知道答案       3        小红   /img/5.jpg       4       小李     /img/8.jpg 2012-12-01 数学
 4       1/2=?      不知道答案       1        小明   /img/1.jpg       3       小红     /img/5.jpg 2012-12-01 数学
 
sql
[解决办法]
select a.Questionid,a.Title,a.QusContent,a.QusUserid,b.UserName,c.photo as QImg, a.AnsUserid,b.UserName,c.photo as AImg InnerDate, Subject    
from UserQusetion a
inner join Questionid b on a.QusUserId = b.Userid 


inner join UserAttribute c on b.Userid = c.UserId and a.AnsUserId = c.UserId
[解决办法]


select a.Questionid,a.Title,a.QusContent,a.QusUserid,b.UserName,c.photo as QImg,
a.AnsUserid,c.UserName,c.photo as AImg ,InnerDate, Subject   
from UserQusetion a left join [User] b 
on a.QusUserId = b.Userid
left join 
(select a.userid,b.username,a.photo
from UserAttribute a,[User] b where a.Userid = b.UserId) c 
on a.AnsUserid = c.UserId
/*
Questionid,Title,QusContent,QusUserid,UserName,QImg,AnsUserid,UserName,AImg,InnerDate,Subject
2,气候变暖,大气气候变暖,1,小明,/img/4.jpg,2,小刚,/img/4.jpg,2012-12-01 00:00:00.000,地理
3,1+2=?,不知道答案,3,小红,/img/8.jpg,4,小李,/img/8.jpg,2012-12-01 00:00:00.000,数学
4,1+2=?,不知道答案,1,小明,/img/5.jpg,3,小红,/img/5.jpg,2012-12-01 00:00:00.000,数学

(3 行受影响)


热点排行