einstein82 发表于 2006-4-14 10:45:38

【求助】求一SQL,看似简单的SQL

现有两个表:
topic(主题)
        id
        board_id
        title
        content
        add_time
        ...
board (论坛版面)
        id
        name
        setting
        ....
表通过topic表的 board_id 与 board表的id字段关联。
现要从topic表中一次取出n个版面的最新5条记录,即每个版面的前5条记录。
用一个SQL,能搞定么?

JSTOP 发表于 2006-4-14 12:42:15

你所说的N个版面 在board表中是什么样的?

zhoufoxcn 发表于 2006-4-14 15:41:21

不太可能。

chpoon 发表于 2006-4-29 21:02:47

只有使用存储过程

RPGboy 发表于 2006-4-30 10:21:37

一个循环加一个SQL应该可以吧

letianoi 发表于 2006-6-7 14:56:18

如果想取出最新的5条 可以根据topic里的board_id 倒叙查找出来显示 但第N个怎么个意思,估计我这方法行不通!

zhoufoxcn 发表于 2006-6-8 17:27:19

一次取一个版面的5条记录,然后按照版面循环,就可以满足要求。
但是不可能一次同时取n个版面的记录。

duronshi 发表于 2006-6-25 17:05:23

可以搞定呀
select top 5

thinger 发表于 2006-7-3 11:06:14

楼上的真简单..

这种用一条SQL语句是搞不定的..建议使用存储过程..

秋色的记忆 发表于 2006-7-4 16:53:31

不太好写

[ 本帖由 秋色的记忆 最后编辑于 2006-7-4 16:55 ]

Javr 发表于 2006-7-13 11:53:58

只有用循环了,不过不建议单用SQL实现。

小海 发表于 2007-1-5 13:53:14

很麻烦的.我在CSND上看到过啊~写了很多很多 ,用了很多嵌套查询

Lovesah 发表于 2007-1-19 17:07:01

你用的是什么数据库啊. sql server 用 top mysql 就要用 limit 请说明白些啊.

fanspace 发表于 2007-1-25 22:25:40

想不出来,不过想想也没必要去想,干嘛非要一个SQL搞定,
自己给自己找麻烦啊~

dinho 发表于 2008-1-22 17:04:43

不意见用单用SQL实现。

帅的上车不买票 发表于 2008-2-15 16:57:11

看什么情况吧,如果有时间字段就简单了

aaaac 发表于 2008-4-19 01:26:45

用unio把结果集结合起来,sql-server就用top,oracle 就用rownum,mysql用limit

chcinc 发表于 2008-12-6 10:33:11

建议使用存储过程

fenghunwj 发表于 2008-12-17 21:15:22

还是使用存储过程吧!
  

往昔如梦 发表于 2008-12-19 13:54:15

感觉如果使用分组的话,应该可以实现(group by)。
页: [1] 2
查看完整版本: 【求助】求一SQL,看似简单的SQL