按B表的时间,排a表的顺序,A表和B表有关接

解决方案 »

  1.   

    select a.* from a left join b on a.id = b.id order by b.time
      

  2.   

    select * from a t order by (select time from b where id = t.id)
      

  3.   


    SELECT A.*,T.TIME FROM A 
    LEFT JOIN T 
      ON A.ID=T.ID
    ORDER BY T.TIME
      

  4.   

    select DB_Statements.id,DB_Statements.title,DB_Statements.tel,DB_Statements.uid,DB_Statements.ACCOMPANYING,DB_Statements.clevel,DB_Statements.addtime from DB_Statements left join DB_STATEMENTS_LIST on DB_STATEMENTS.id=DB_STATEMENTS_LIST.parentid  order by DB_STATEMENTS_LIST.addtime desc还是不行
      

  5.   

    按B表的时间
    你SELECT 里没有B表的时间字段
    什么排序?
    加进去吧
      

  6.   

    现在是加了where以后,数据重复显示了
      

  7.   

    现在是加了where以后,数据重复显示了
    ???、
    你这样问同,应该没有几个人能理解你的意思吧。
      

  8.   

    select DB_Statements.id,DB_Statements.title,DB_Statements.tel,DB_Statements.uid,DB_Statements.ACCOMPANYING,DB_Statements.clevel,DB_Statements.addtime from DB_Statements left join DB_STATEMENTS_LIST on DB_STATEMENTS.id=DB_STATEMENTS_LIST.parentid where DB_Statements.parentid=0 and DB_Statements.uid='57' and DB_Statements.title like '%%'  order by DB_STATEMENTS_LIST.addtime desc 
    就是这样写数据重复了
      

  9.   

    按B表的时间,排a表的顺序,A表和B表有关接
    排序的时候不含b表的条数内容,只需要他的一个时间在这之后,还要加where条件
      

  10.   

    那你用2楼的不就行了。
    我本来就考虑了两种情况,
    1对1用1楼的
    1对多用2楼的
    不过在子查询中可能要加max:
    select * from a t order by (select max(time) from b where id = t.id)