急问一个sql语句?!

ddnn 2006-10-30 10:35:24
表A: TDATE,id, *
表B: id, *

A和B靠id关联(A主B从),要求从A中取出100条数据按TDATE升序,并且将B中与A.id关联的所有数据取出

select B.* from B where id in
(select id from A where rownum<=100 order by tdate) -- "缺失右括号"

select B.* from A, B
where A.id=B.id
and A.rownum<=100 order by A.TDATE -- 不识别rownum

应该怎么写啊?
...全文
138 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ch8433 2006-10-30
  • 打赏
  • 举报
回复
oracle有row_number()over()的语法么?
ch8433 2006-10-30
  • 打赏
  • 举报
回复
select b.* from b where id in (
select id from (
select id, rownum rn from a order by tdate
) c where rn <= 100
)
Visual_Studio_Net 2006-10-30
  • 打赏
  • 举报
回复
楼上的,应该是row_number()over(order by tdate)吧
xiaoxiao1984 2006-10-30
  • 打赏
  • 举报
回复
select b.* from b
where b.id in
(select id from (select * from a order by TDATE) where rownum <= 100 )
zcs_1 2006-10-30
  • 打赏
  • 举报
回复
SELECT b.*
FROM b
WHERE id IN(
SELECT id
FROM
(SELECT id,row_number() (ORDER BY tdate) rn FROM a
)
WHERE rn <= 100
)

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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