谢谢大家,其实是我自己的问题,正确的是这样的 SELECT EST1_ID, SAIL_CD, EST_DATE, PRICE_TOTAL, EST_NO, EST_NO2, CU_NO2, CUUSER_NAME, CU_DEP1, CU_NAME1, VIP_FLAG, SUBJECT, SUBJ_QTY, SEND_FLAG, SUP_TOTAL, ORDER_RANK FROM MEIJI.EST1TBL as aaa WHERE EST_DATE >='2004-04-01' and EST_DATE <='2004-04-30' AND EMP_CD LIKE '%00003%' AND FORM_FLAG ='TY' AND (SEND_FLAG ='1' or SEND_FLAG ='9' or SEND_FLAG ='0') AND EST_NO2 in (SELECT MAX(EST_NO2) FROM MEIJI.EST1TBL as b where b.EST_NO = aaa.EST_NO GROUP BY EST_NO ) AND TEMP_FLAG= '0' ORDER BY DEPARTMENT, SAIL_CD, CU_ID, EMP_CD, EST_NO, EST_NO2 ASC =============================================================================== AND EST_NO2 in (SELECT MAX(EST_NO2) FROM MEIJI.EST1TBL as b where b.EST_NO = aaa.EST_NO GROUP BY EST_NO ) 这里面没有加条件
SELECT EST1_ID, SAIL_CD, EST_DATE, PRICE_TOTAL, EST_NO, EST_NO2, CU_NO2, CUUSER_NAME, CU_DEP1, CU_NAME1, VIP_FLAG, SUBJECT, SUBJ_QTY, SEND_FLAG, SUP_TOTAL, ORDER_RANK
FROM MEIJI.EST1TBL as aaa WHERE EST_DATE >='2004-04-01' and EST_DATE <='2004-04-30'
AND EMP_CD LIKE '%00003%'
AND FORM_FLAG ='TY' AND (SEND_FLAG ='1' or SEND_FLAG ='9' or SEND_FLAG ='0')
AND EST_NO2 in
(SELECT MAX(EST_NO2) FROM MEIJI.EST1TBL as b where b.EST_NO = aaa.EST_NO GROUP BY EST_NO )
AND TEMP_FLAG= '0' ORDER BY DEPARTMENT, SAIL_CD, CU_ID, EMP_CD, EST_NO, EST_NO2 ASC
===============================================================================
AND EST_NO2 in
(SELECT MAX(EST_NO2) FROM MEIJI.EST1TBL as b where b.EST_NO = aaa.EST_NO GROUP BY EST_NO ) 这里面没有加条件