DTQuery.Close;
DTQuery.SQL.Clear;
DTQuery.SQL.Text:='Select MAX(WW_Money) SMoney,MAX(WW_Score) SScore,'
+'MAX(WC_Score) CScore,MAX(WR_Score) RScore '
+'From T_WeiZh_Why '
+'Where WW_ID In (Select WW_ID From T_WZ_Reason '
+' Where W_ID='
+ IntToStr(DBQuery.FieldValues['W_ID'])+' )';
DTQuery.Open;
代码如上,本来很快,忽然open很慢了,不知道原因是什么,sql server 里面还是很快。
DTQuery.SQL.Clear;
DTQuery.SQL.Text:='Select MAX(WW_Money) SMoney,MAX(WW_Score) SScore,'
+'MAX(WC_Score) CScore,MAX(WR_Score) RScore '
+'From T_WeiZh_Why '
+'Where WW_ID In (Select WW_ID From T_WZ_Reason '
+' Where W_ID='
+ IntToStr(DBQuery.FieldValues['W_ID'])+' )';
DTQuery.Open;
代码如上,本来很快,忽然open很慢了,不知道原因是什么,sql server 里面还是很快。
b表有往往ww_id,ww_money,ww_score,ww_cscore等字段,
c表只有w_id,ww_id,两个字段,分别关联到a,b两张表,每个w_id,可能关联多个ww_id,要取得各列的最大值。
open前,把DTQuery.SQL.Tex的内容在查询分析器里试一试
因为结果求max,所以可以试试用inner join得出所有的WW_ID数据,再求max