Select top 1 TotalAddMoney,TotalTollMoney from (  Select top 1 TotalAddMoney,TotalTollMoney,ChangeDate from cntMoneychange where  Userid =  '00000001' order by ChangeDate desc
 Union  Select top 1 TotalAddMoney, TotalTollMoney,StCardDate from Tolldetail where cardid = '00000001' order by StCardDate desc ,stcardtime desc  ) a order by TotalTollMoney desc
上面代码在2005运行正常,但是在2000报错
去掉 stcardtime desc   这个后2000 运行正常,但是去掉后得到的值不是我要的 现在这个的意思是我从两张表取数据  按时间排序  取得值后  组合两张表,然后再从这张表里面按大小排序 取得较大的那个值    还有其他写法吗,我是菜鸟   求救  谢谢了

解决方案 »

  1.   

    stcardtime 是否有大小写的问题?
      

  2.   

    那用临时表吧,把
    select ...
    union
    select ...
    这个查询插入到临时表中 
      

  3.   

    Select top 1 TotalAddMoney,TotalTollMoney from ( Select top 1 TotalAddMoney,TotalTollMoney,ChangeDate from cntMoneychange where Userid = '00000001' order by ChangeDate desc
     Union Select top 1 TotalAddMoney, TotalTollMoney,StCardDate as ChangeDate from Tolldetail where cardid = '00000001' order by StCardDate desc ,stcardtime desc ) a order by TotalTollMoney desc