【求助】求一SQL,看似简单的SQL
现有两个表:topic(主题)
id
board_id
title
content
add_time
...
board (论坛版面)
id
name
setting
....
表通过topic表的 board_id 与 board表的id字段关联。
现要从topic表中一次取出n个版面的最新5条记录,即每个版面的前5条记录。
用一个SQL,能搞定么? 你所说的N个版面 在board表中是什么样的? 不太可能。 只有使用存储过程 一个循环加一个SQL应该可以吧 如果想取出最新的5条 可以根据topic里的board_id 倒叙查找出来显示 但第N个怎么个意思,估计我这方法行不通! 一次取一个版面的5条记录,然后按照版面循环,就可以满足要求。
但是不可能一次同时取n个版面的记录。 可以搞定呀
select top 5 楼上的真简单..
这种用一条SQL语句是搞不定的..建议使用存储过程.. 不太好写
[ 本帖由 秋色的记忆 最后编辑于 2006-7-4 16:55 ] 只有用循环了,不过不建议单用SQL实现。 很麻烦的.我在CSND上看到过啊~写了很多很多 ,用了很多嵌套查询 你用的是什么数据库啊. sql server 用 top mysql 就要用 limit 请说明白些啊. 想不出来,不过想想也没必要去想,干嘛非要一个SQL搞定,
自己给自己找麻烦啊~ 不意见用单用SQL实现。 看什么情况吧,如果有时间字段就简单了 用unio把结果集结合起来,sql-server就用top,oracle 就用rownum,mysql用limit 建议使用存储过程 还是使用存储过程吧!
感觉如果使用分组的话,应该可以实现(group by)。
页:
[1]
2