再来个求助!三个表互联, 一个主键怎样分别对应两个不同的外键来显示?

吉普赛的歌 版主 2009-09-04 11:03:08
三个表BBSUsers(UID,UserName),BBSTopic(TID,TUID,TTopic,TClickCount),BBSReply(RUID,RTID,RTopic)
BBSUsers的UID是主键,BBSTopic的TUID和BBSReply的RUID是外键.
BBSTopic的TID是主键,BBSReply的RTID是外键

要查询主贴表(BBSTopic)中某一个贴子(TID=1)的发贴人姓名,以及跟贴表(BBSReply)中的所有跟贴人的姓名.

小弟先在此谢过了!
...全文
137 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 版主 2009-09-07
  • 打赏
  • 举报
回复
--三个表BBSUsers(UID,UserName),BBSTopic(TID,TUID,TTopic,TClickCount),BBSReply(RUID,RTID,RTopic)
--BBSUsers的UID是主键,BBSTopic的TUID和BBSReply的RUID是外键.
--BBSTopic的TID是主键,BBSReply的RTID是外键
--
--要查询主贴表(BBSTopic)中某一个贴子(TID=1)的发贴人姓名,以及跟贴表(BBSReply)中的所有跟贴人的姓名.

--第1步
select TID,USerName as 发贴人姓名
into temptab1
from BBSUser inner join BBSTopic
on BBSUser.UID=BBSTopic.TUID

--第2步
select RTID,UserName as 跟贴人姓名
into temptab2
from BBSUser inner join BBSReply
on BBSUser.UID=BBSReply.RUID

--第3步
select 发贴人姓名,跟贴人姓名
from temptab1 inner join temptab2
on temptab1.TID=temptab2.RTID

--第4步
drop table temptab1
drop table temptab2

--被自己用很笨的方式解决了, 不过还是谢谢各位!
华夏小卒 2009-09-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yenange 的回复:]
fredrickhu老大, 谢谢你这么晚还回我的贴.
不过还要显示跟贴表的姓名呀, 模拟一下结果:

主贴表姓名  跟贴表姓名
  leaf      flower
  leaf      andy
  leaf      tom
  Mike      John
  Mike      andy
[/Quote]
最好给点记录
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fredrickhu 的回复:]
SQL codeselect
a.UserName,c.RTopicfrom
BBSUsers a,BBSTopic b,BBSReply cwhere
a.uid=b.tuidand
b.tid=c.rtidand a.tid=1
[/Quote]
同意
吉普赛的歌 版主 2009-09-04
  • 打赏
  • 举报
回复
fredrickhu老大, 谢谢你这么晚还回我的贴.
不过还要显示跟贴表的姓名呀, 模拟一下结果:

主贴表姓名 跟贴表姓名
leaf flower
leaf andy
leaf tom
Mike John
Mike andy
lihan6415151528 2009-09-04
  • 打赏
  • 举报
回复
SELECT u.username[发贴人姓名]
FROM BBSTOPIC T
LEFT JOIN BBSUSERS U

ON
T.TUID = U.UID
WHERE
TUID = 1

soft_wsx 2009-09-04
  • 打赏
  • 举报
回复
select 
a.UserName,c.RTopic
from
BBSUsers a join BBSTopic b on a.uid=b.tuid join BBSReply c
on
b.tid=c.rtid
where a.tid=1

select
a.UserName,c.RTopic
from
BBSUsers a join BBSTopic b on a.uid=b.tuid join BBSReply c
on
b.tid=c.rtid
and a.tid=1
--小F-- 2009-09-04
  • 打赏
  • 举报
回复
select 
a.UserName,c.RTopic
from
BBSUsers a,BBSTopic b,BBSReply c
where
a.uid=b.tuid
and
b.tid=c.rtid
and a.tid=1

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧