SELECT * FROM 
 A inner join 
  ( B inner join 
    (C inner join (D lb inner join (select * from E where E.myUser=? limit ?,? ) )) );  
其中on语句省略。------------问题是:我要按照表E的某个字段排序。不能写在【 select * from E where E.myUser=? limit ?,? 】 之中,会报错。怎么办?

解决方案 »

  1.   

    SELECT * FROM  
     A inner join B on A.id=B.id  
       inner join C on B.id=C.id
       inner join D on C.id=D.id 
       inner join E on D.id=E.id 
     where E.myUser=? limit ?,? ;   中间表对应下。
      

  2.   

    SELECT * FROM   
     A inner join B on A.id=B.id   
      inner join C on B.id=C.id
      inner join D on C.id=D.id  
      inner join E on D.id=E.id  
     where E.myUser=? limit ?,? order by E.id ;   
      

  3.   

    select * from E where E.myUser=? limit ?,?
    生成1个表再连接查询在MYSQL5.5下
    SELECT * FROM a a1 INNER JOIN (SELECT * FROM a LIMIT 0,1) b ON a1.`tid`=b.tid
    没有问题
      

  4.   

    SELECT * FROM  
      A inner join  
     ( B inner join  
       (C inner join (D lb inner join (select * from E where E.myUser=? and col=(select max(col) from E where E.myUser=?) ) )) ); 
      

  5.   


    都忘了结贴了。
    我最后采用的是这个方案,先生成中间表 select * from E where E.myUser=? limit ?,? order by E.xxx desc然后依次生成各个中间表,最后join起来。
      

  6.   


    敢问,你这个col=(select max(col) from E where E.myUser=?) 是要找col值最大的一行?