分页显示,不是很容易!

worldheart 2003-05-20 03:01:21
本人有一个Session EJB(其中,在里面通过JDBC访问SQL Server),每次只想从
DBMS返回想要的数据,由于数据量很大。

比如,下面的SQL代码:

SELECT Goods.GoodsID, Goods.Barcode, Goods.GoodsName
, Goods.Spec, Goods.UName, Stock.Qty, Stock.SumStock FROM Goods INNER JOIN PurchaseTerms ON Goods.GoodsID = PurchaseTerms.GoodsID INNER JOIN Vender ON PurchaseTerms.VenderID = Vender.VenderID INNER JOIN Stock ON Goods.GoodsID = Stock.Go
odsID

有没有什么办法实现在后台仅仅提取想要的数据。

(对于较为简单的操作,比如:

select top 10 * from dbo.syscomments
where id not in (select top 20 id from dbo.syscomments order by id desc) order by id desc

可以很容易实现。

但现在我们的“dbo.syscomments”,是上述复杂的SQL操作结果


谢谢!
...全文
40 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
remanwang 2003-05-27
  • 打赏
  • 举报
回复
建视图

另外你的sql是否可以简化呢?
SELECT Goods.GoodsID, Goods.Barcode, Goods.GoodsName
, Goods.Spec, Goods.UName, Stock.Qty, Stock.SumStock FROM Goods INNER JOIN Stock ON Goods.GoodsID = Stock.GoodsID
struggle007csdn 2003-05-27
  • 打赏
  • 举报
回复
楼主三星啊,放点分给俺吧。
bjzhanghao 2003-05-27
  • 打赏
  • 举报
回复
问题是什么,速度太慢吗?
对syscomments视图增加索引
或者,如果syscomments不需要实时更新,把它作为表定时更新
hotenM 2003-05-27
  • 打赏
  • 举报
回复
有办法的,但每种数据不一样
比如ORACLE,可以用ROWNUM写三层嵌套

MYSQL 用 LIMIT 10,10返回从10行起的10行数据

不知道楼主用的是什么数据库?
proZeus 2003-05-27
  • 打赏
  • 举报
回复
@_@

ZeroC 2003-05-27
  • 打赏
  • 举报
回复
存储过程
FBStudio 2003-05-20
  • 打赏
  • 举报
回复

先将所有的GoodsID 排序选进一个临时表中,再在上面的复杂SELECT语句中加上WHERE条件限定Goods.GoodsID为临时表的记录子集。
worldheart 2003-05-20
  • 打赏
  • 举报
回复
如何将dbo.syscomments替换成:

SELECT Goods.GoodsID, Goods.Barcode, Goods.GoodsName
, Goods.Spec, Goods.UName, Stock.Qty, Stock.SumStock FROM Goods INNER JOIN PurchaseTerms ON Goods.GoodsID = PurchaseTerms.GoodsID INNER JOIN Vender ON PurchaseTerms.VenderID = Vender.VenderID INNER JOIN Stock ON Goods.GoodsID = Stock.Go
odsID

或者有没有其他的好办法,谢谢。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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