update tablename
set order=(select count(*) from tablename where PRODUCT=a.PRODUCT and city=a.city and fee<=a.fee),
    percent=a.fee/(select sum(fee) from tablename where PRODUCT=a.PRODUCT and city=a.city)
    from tablename a

解决方案 »

  1.   

    看不懂哎,大哥!order也可以这么计算呢?
      

  2.   

    你自己要用order做字段名,我有什么办法!!
    update tablename
    set [order]=(select count(*) from tablename where PRODUCT=a.PRODUCT and city=a.city and fee<=a.fee),
        [percent]=a.fee/(select sum(fee) from tablename where PRODUCT=a.PRODUCT and city=a.city)
        from tablename a
      

  3.   

    哎呀,你还是把你要的结果给写出来吧,搞不清楚你要按什么排序.update tablename
    set [order]=(select count(*) from tablename where PRODUCT=a.PRODUCT and city=a.city and fee>=a.fee),
        [percent]=a.fee/(select sum(fee) from tablename where PRODUCT=a.PRODUCT and city=a.city)
        from tablename a
      

  4.   

    我试试吧!
    我当然是用费用排序了!
    其实我的问题是这样的,字段的个数是未知的,但肯定有fee,order,percent字段,所以where后面的条件是不知道的!您明白了吗?