求教:搜索一个主题帖和该主题帖下属的所有回复帖

darkmetre 2009-01-24 12:47:58



我的本意是搜索一个主题帖和所有该主题帖下属的回复帖。可是现在每一天回复记录的前面都多了主题帖的标题和内容,显得很多余和难看,应该弄掉,整个记录集的第一条应该是主题帖的标题、内容、发表时间和楼主,然后是所有回复帖的标题、内容、发表时间和回复人。就像我们现在这个页面的帖子界面一样。

谁可以告诉我这SQL语句应该怎么写?
...全文
89 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
darkmetre 2009-01-28
  • 打赏
  • 举报
回复
谢谢各位特别是火元素肯在这段论坛人气冷清的时间来浏览我这标题显得非常小白的帖子。

PS:火元素你的代码里面有个小小的错误,就是
WHERE [Card].[cardID]=1
ORDER BY [Reply].[deliveTime]
这里应该是:
WHERE [Reply].[cardID]=1
ORDER BY [Reply].[deliveTime]
darkmetre 2009-01-27
  • 打赏
  • 举报
回复
。。。。。。。。。但是分别使用两个GridView显示主题帖和回复帖的话,回复帖翻页的时候显得不协调啊,我想把主题帖和回复帖都显示在一个GridView中
firecc05 2009-01-27
  • 打赏
  • 举报
回复
生成主页面的SQL只查询主题帖列表,
超链接进入详细页面时,再根据传递的参数,如主题帖ID,用2个查询语句分别查主题信息和回帖列表信息。在页面上做数据绑定时,让主题和回帖在格式上一致。
darkmetre 2009-01-27
  • 打赏
  • 举报
回复
抱歉SQL基础不怎么好,所以再弱弱地问下SQL语句应该怎么写
firecc05 2009-01-27
  • 打赏
  • 举报
回复

SELECT [Card].[cardTitle] AS [Title],[Card].[content] AS [content],[Card].[deliveTime] AS [deliveTime], [User].[userName] AS [userName]
FROM [Card] inner join [User] on [Card].[userID] = [User].[userID]
WHERE [Card].[cardID]=1
UNION ALL
SELECT [Reply].[replyTitle] AS [Title],[Reply].[content] AS [content],[Reply].[deliveTime] AS [deliveTime],[User].[userName] AS [userName]
FROM [Reply] inner join [User] on [Reply].[userID] = [User].[userID]
WHERE [Card].[cardID]=1
ORDER BY [Reply].[deliveTime]
firecc05 2009-01-27
  • 打赏
  • 举报
回复
那就放一个结果集吧,用union all
wuyq11 2009-01-25
  • 打赏
  • 举报
回复
select [Card].[cardTitle],[Card].[content],[Card].[deliveTime],
[Reply].[replyTitle],[Reply].[content],[Reply].[deliveTime],
[User].[userName] from Card left join
User on [Card].[userID]= [User].[userID]
left join Reply on [Reply].[userID]=[User].[userID]
where [Card].[cardID]=1
darkmetre 2009-01-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 darkmetre 的帖子:]

我的本意是搜索一个主题帖和所有该主题帖下属的回复帖。可是现在每一天回复记录的前面都多了主题帖的标题和内容,显得很多余和难看,应该弄掉,整个记录集的第一条应该是主题帖的标题、内容、发表时间和楼主,然后是所有回复帖的标题、内容、发表时间和回复人。就像我们现在这个页面的帖子界面一样。
[/Quote]


我预期的网页显示结果为:
-------------------------------------------

主题帖标题 主题帖内容 主题帖发表时间 发表人

回复帖标题 回复帖内容 回复帖发表时间 发表人

回复帖标题 回复帖内容 回复帖发表时间 发表人

回复帖标题 回复帖内容 回复帖发表时间 发表人

回复帖标题 回复帖内容 回复帖发表时间 发表人

-------------------------------------------

我想将其结果用于参考如何设计一个用于查看论坛中某个主题帖中的所有帖子的网页,
就像现在我们讨论这个问题所使用的CSDN的论坛帖子页面一样,从版块的主题帖点击了主题帖的超链接进入帖子详细信息页面,页面显示唯一的主题帖和所有的回复帖。

请问这种思路是正确的吗?如果不正确那应该怎么达到我的目的呢?


ChinaJiaBing 2009-01-25
  • 打赏
  • 举报
回复

up..
darkmetre 2009-01-24
  • 打赏
  • 举报
回复
SQL语句如下:

select [Card].[cardTitle],[Card].[content],[Card].[deliveTime],
[Reply].[replyTitle],[Reply].[content],[Reply].[deliveTime],
[User].[userName] from [Card],[User],[Reply]
where [User].[userID] in ([Card].[userID],[Reply].[userID])and
[Card].[cardID]=1

请问各位应该怎样改进这个SQL语句才能达到我的意图?

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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