SELECT * ,
          (SELECT TOP 1 rk_js
         FROM rkd_main
         WHERE T.lpph=rkd_main.lp_ph AND 
               T.pb_gg = rkd_main.guige) AS rk_js,
          (SELECT TOP 1 rk_sl
         FROM rkd_main
         WHERE T.lpph=rkd_main.lp_ph  AND 
               T.pb_gg = rkd_main.guige) AS rk_sl,
          (SELECT TOP 1 suolv
         FROM rkd_main
         WHERE T.lpph=rkd_main.lp_ph  AND 
               T.pb_gg = rkd_main.guige) AS suolv 
FROM T
这样查出来是17900条记录,耗时3秒
但是要加上条件之后
SELECT * ,
          (SELECT TOP 1 rk_js
         FROM rkd_main
         WHERE T.lpph=rkd_main.lp_ph AND 
               T.pb_gg = rkd_main.guige) AS rk_js,
          (SELECT TOP 1 rk_sl
         FROM rkd_main
         WHERE T.lpph=rkd_main.lp_ph  AND 
               T.pb_gg = rkd_main.guige) AS rk_sl,
          (SELECT TOP 1 suolv
         FROM rkd_main
         WHERE T.lpph=rkd_main.lp_ph  AND 
               T.pb_gg = rkd_main.guige) AS suolv 
FROM T where lpdate between '2010-03-01' and '2010-03-31'
这样查询要耗时一分多钟,
sql 2000的数据库,在2005中好像快多了