select MAX(t3.ORDER_NO),t1.BED_NO,t2.NAME,
t3.START_DATE_TIME,
t3.ORDER_TEXT,
from PATS_IN_HOSPITAL t1,PAT_MASTER_INDEX t2,ORDERS t3              where    
t1.PATIENT_ID
=t2.PATIENT_ID and t1.PATIENT_ID=t3.PATIENT_ID"就是上面这个SQL语句,我写好了,出现错误提示为:“非单组分组函数”,我也知道错误出在MAX这个地方,但是,我本意就是要找出t3表中的最大的ORDER_NO的记录然后与别的两个表t1和t2由三个表都相同的PATIENT_ID对应起来。总之问题就是出在MAX这个地方,请问我应该怎么改呢?谢谢高手

解决方案 »

  1.   

    tryselect t3.ORDER_NO,t1.BED_NO,t2.NAME,
    t3.START_DATE_TIME,
    t3.ORDER_TEXT
    from PATS_IN_HOSPITAL t1,PAT_MASTER_INDEX t2,
    ORDERS t3,
    (Select MAX(ORDER_NO) From t3) t4
                  where    
    t1.PATIENT_ID
    =t2.PATIENT_ID and t1.PATIENT_ID=t3.PATIENT_ID and t3.ORDER_NO = t4.ORDER_NO
      

  2.   

    select t3.ORDER_NO,t1.BED_NO,t2.NAME,
    t3.START_DATE_TIME,
    t3.ORDER_TEXT
    from (select PATIENT_ID,ORDER_NO from ORDERS where ORDER_NO=(select max(ORDER_NO)from ORDERS))t3
    left join
    PAT_MASTER_INDEX t2
    on t2.PATIENT_ID=t3.PATIENT_ID
    left join
    PATS_IN_HOSPITAL t1
    on t1.PATIENT_ID=t2.PATIENT_ID
      

  3.   

    SQL> select t1.PATIENT_ID,t3.ORDER_NO,t1.BED_NO,t2.NAME,t3.START_DATE_TIME,t3.OR
    DER_TEXT,t3.DOSAGE,t3.DOSAGE_UNITS,t3.ADMINISTRATION,t3.FREQUENCY,t3.STOP_DATE_T
    IME,t3.STOP_DOCTOR,t3.STOP_NURSE from PATS_IN_HOSPITAL t1,PAT_MASTER_INDEX t2,OR
    DERS t3 where t1.PATIENT_ID=t2.PATIENT_ID and t1.PATIENT_ID=t3.PATIENT_ID and t3
    .ORDER_NO = (Select MAX(ORDER_NO) From ORDERS where PATIENT_ID=t1.PATIENT_ID) an
    d t1.DEPT_CODE='030801';自己弄好了,谢谢各位