select 
    min([Date]) as [Date]
from
    (select min(Check_Date) as [Date] from T1
     union all
     select min(Bill_Date ) from T2
     union all
     select min(RBill_Date) from T3) a

解决方案 »

  1.   

    select min(aa)from
    (select check_date aa from t1
    union all
    select bill_date from t2
    union all
    select rbill_date from t3)a
      

  2.   

    如果是所有数据比较:
    select min(dt)
    from (
           select Check_Date as 'dt' from T1
           union
           select Bill_Date  from T2
           union
           select RBill_Date from T3
         )t如果是关联字段比较:select  case when T1.Check_Date<T2.Bill_Date  
                         and T1.Check_Date<T3.RBill_Date  
                  then T1.Check_Date
                 when T1.Check_Date>T2.Bill_Date  
                         and T2.Bill_Date<T3.RBill_Date  
                  then T2.Bill_Date
                 else T3.RBill_Date  
            end
    from T1
    join T2 on T1.关联字段=T2.关联字段
    join T3 on T1.关联字段=T3.关联字段
      

  3.   

    select 
        minDate = case 
                      when T1.Check_Date < T2.Bill_Date and T1.Check_Date < T3.RBill_Date 
                          then T1.Check_Date
                      when T2.Bill_Date < T3.RBill_Date 
                          then T2.Bill_Date
                      else T3.RBill_Date 
                  end
    from
        T1,T2,T3
    where
        T1.关联字段 = T2.关联字段
        and
        T2.关联字段 = T3.关联字段