如何将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或者有没有其他的好办法,谢谢。

解决方案 »

  1.   


    先将所有的GoodsID 排序选进一个临时表中,再在上面的复杂SELECT语句中加上WHERE条件限定Goods.GoodsID为临时表的记录子集。
      

  2.   

    有办法的,但每种数据不一样
    比如ORACLE,可以用ROWNUM写三层嵌套MYSQL 用 LIMIT 10,10返回从10行起的10行数据不知道楼主用的是什么数据库?
      

  3.   

    问题是什么,速度太慢吗?
    对syscomments视图增加索引
    或者,如果syscomments不需要实时更新,把它作为表定时更新
      

  4.   

    建视图另外你的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