如何读取多张表

小曦子 2009-03-02 01:32:09
在开发论坛时,会遇到要从数据库多张表中读取所需的数据,像一些贴数,回复数啦,还有今日发多少贴,版主,子版什么的,在asp.net时要用到什么数据库件可以达到读取多呀??
我自己试过用DataSet,可是感觉麻烦呀,要编写很多操作,可以感觉不怎么好,我用的数据库是用MySql
我有问老师,他说是GridView+MSSQL就可以达到上面的效果,可是我在网上找些范例看看,可是都没找,希望各位前辈可以帮帮忙,先谢谢!
...全文
350 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
ITniao 2009-03-06
  • 打赏
  • 举报
回复
基本的SQL方面的东西,估计这个帖子是接不了了,感觉大家煞费苦心的跟帖...
小曦子 2009-03-04
  • 打赏
  • 举报
回复
我在我上面代码上最后加上 order by t5.r_id desc; 显示的还是每个版块最早回复的ID,而且版块的顺序也颠倒,变成了从大往小了
小曦子 2009-03-04
  • 打赏
  • 举报
回复
[Quote=引用 33 楼 zzxap 的回复:]
SQL code
select t1.*,t2.HNameA,t3.TNum,t4.RNum,t5.r_ID,t5.r_uName,t5.r_date,t5.r_t_ID from tb_module t1
left join (select 回复时间,h_bk_ID,hName as HNameA from tb_Host group by h_bk_ID)t2 on t1.bk_ID = t2.h_bk_ID
left join (select 回复时间,t_bk_ID,count(t_ID) as TNum from t_Card group by t_bk_ID)t3 on t1.bk_ID = t3.t_bk_ID
left join (select 回复时间,r_bk_ID,count(r_ID) as RNum …
[/Quote]
不是那样的,我要读取的是论坛首页要显示的每个版块最后回复的主题和回复用户,而且你上面回复时间我用的是版块的ID的,所以不能..
zzxap 2009-03-04
  • 打赏
  • 举报
回复

select t1.*,t2.HNameA,t3.TNum,t4.RNum,t5.r_ID,t5.r_uName,t5.r_date,t5.r_t_ID from tb_module t1
left join (select 回复时间,h_bk_ID,hName as HNameA from tb_Host group by h_bk_ID)t2 on t1.bk_ID = t2.h_bk_ID
left join (select 回复时间,t_bk_ID,count(t_ID) as TNum from t_Card group by t_bk_ID)t3 on t1.bk_ID = t3.t_bk_ID
left join (select 回复时间,r_bk_ID,count(r_ID) as RNum from r_Card group by r_bk_ID)t4 on t1.bk_ID = t4.r_bk_ID
left join (select 回复时间,r_bk_ID,r_uName,r_ID,r_date,r_t_ID from r_Card group by r_bk_ID)t5 on t1.bk_ID = t5.r_bk_ID

order by t1.回复时间 desc
;

zzxap 2009-03-04
  • 打赏
  • 举报
回复
用left join 和inner join 就行
小曦子 2009-03-04
  • 打赏
  • 举报
回复

select t1.*,t2.HNameA,t3.TNum,t4.RNum,t5.r_ID,t5.r_uName,t5.r_date,t5.r_t_ID from tb_module t1
left join (select h_bk_ID,hName as HNameA from tb_Host group by h_bk_ID)t2 on t1.bk_ID = t2.h_bk_ID
left join (select t_bk_ID,count(t_ID) as TNum from t_Card group by t_bk_ID)t3 on t1.bk_ID = t3.t_bk_ID
left join (select r_bk_ID,count(r_ID) as RNum from r_Card group by r_bk_ID)t4 on t1.bk_ID = t4.r_bk_ID
left join (select r_bk_ID,r_uName,r_ID,r_date,r_t_ID from r_Card group by r_bk_ID)t5 on t1.bk_ID = t5.r_bk_ID
;

各位老前辈,我已经完成的差不多了,只是最后读取最后回复的时候不能读取出最后的,只能读取出最早发表的一个呀,要怎么写才能得到最后每个区最后回复的
小曦子 2009-03-04
  • 打赏
  • 举报
回复
晕啊..我看书都看好几遍了,,可惜书里面只有超极简单的呀..到网络上也没有找到类似的..真是晕呀,,怎么就没有人说呀
cwmwss 2009-03-04
  • 打赏
  • 举报
回复
哈。自已学学SQL吧。
不是那样的,我要读取的是论坛首页要显示的每个版块最后回复的主题和回复用户,而且你上面回复时间我用的是版块的ID的,所以不能..
反正总有一个时候字段吧?
按它倒序排
scy251147 2009-03-04
  • 打赏
  • 举报
回复
帮顶
小曦子 2009-03-04
  • 打赏
  • 举报
回复
谁过来帮帮忙呀
小曦子 2009-03-03
  • 打赏
  • 举报
回复
实在想不出呀,,参考了网上的一些资料,可是还是不能全部写进去呀..头晕..
smartxue1987 2009-03-03
  • 打赏
  • 举报
回复
那就创建视图好了,那之后就跟操作一张表差不多了
smartxue1987 2009-03-03
  • 打赏
  • 举报
回复
那就创建视图好了,那之后就跟操作一张表差不多了
yuyantianya 2009-03-03
  • 打赏
  • 举报
回复
用试图,存储过程,或inner join on 都是可以的呀
siqi610 2009-03-03
  • 打赏
  • 举报
回复
视图。。。。。。
zhulei2008 2009-03-03
  • 打赏
  • 举报
回复
join或者子查询,临时表等等,都可以实现的
小曦子 2009-03-03
  • 打赏
  • 举报
回复
各位说的是,可是小弟就不才,连接太多表时,头都看晕了.
BossFriday 2009-03-03
  • 打赏
  • 举报
回复
视图
你说的这个问题其实很大很大...
Jinglecat 2009-03-03
  • 打赏
  • 举报
回复
哎,这个你最好先看书吧
hahanan1987 2009-03-03
  • 打赏
  • 举报
回复
select 字段一,字段二,字段三。。
from 表一 leftjoin
(
select count(*) as 字段二,字段三
from 表一,表二
groupby条件
)as table (left join.....)
on 表一.字段 = table.字段

我做的一个关于活动信息情况的提取,多少人接受,多少人回复,多少人未回复,
不知道你能不能用的上,如果字段多后面还可以继续连接,最后生成一张视图
加载更多回复(20)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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