SELECT DISTINCT CTD.PRODUCT_ID, CTD.LOT_ID, CTD.MEASURE_TIME, CTD.RECIPE_NAME, CTD.UPDATE_TIME, CTD.CP_TYPE, CTD.PARAMETER_ID, CTD.PARAMETER_KEY_FLAG, CTD.PARAMETER_NAME, CTD.PARAMETER_UNIT, CTD.SPEC_LOW, CTD.SPEC_HIGH, CLI.UPDATE_TIME, CLI.LOT_ID, CLI.MEASURE_TIME FROM WAT.CP_TEST_RAW_DATA_COL_DEFINE CTD, WAT.CP_LOT_WAFER_TEST_INFO CLI WHERE 1=1 AND CTD.PRODUCT_ID = CLI.PRODUCT_ID ${if(len(lotID) == 0, "", "AND CLI.LOT_ID='" + lotID + "'")} ${if(len(recipeName)==0,"","AND CLI.RECIPE_NAME='"+recipeName+"'")} ${if(CTD.LOT_ID!='invalidLot',"","and CTD.LOT_ID = CLI.LOT_ID AND CTD.MEASURE_TIME=CLI.MEASURE_TIME ")} AND CLI.MEASURE_TIME =TO_DATE('${testTime}', 'yyyy-mm-dd hh24:mi:ss') AND CLI.UPDATE_TIME =TO_DATE('${updateTime}', 'yyyy-mm-dd hh24:mi:ss')在决策报表里面 我这一条SQL 加了 ${if(CTD.LOT_ID!='invalidLot',"","and CTD.LOT_ID = CLI.LOT_ID AND CTD.MEASURE_TIME=CLI.MEASURE_TIME ")}这一个条件以后,为什么其他的$if没用了 查询的时候不会需要取值了?