Every derived table must have its own alias
这个是SQLSELECT comusername,comuserid,saytext,saytime,writername,writerid FROM (SELECT a.username as comusername,a.userid as comuserid,a.saytext,a.saytime,b.username as writername,b.userid as writerid FROM ***_enewspl a left join ***_ecms_blog b on a.id=b.id WHERE 1 AND b.classid=26) union all (SELECT a.username as comusername,a.userid as comuserid,a.saytext,b.username as writername,b.userid as writerid FROM ***_enewspl a left join ***_ecms_photo b on a.id=b.id WHERE 1 AND b.classid=37) LIMIT 8

解决方案 »

  1.   

    SELECT comusername,comuserid,saytext,saytime,writername,writerid FROM (SELECT a.username as comusername,a.userid as comuserid,a.saytext,a.saytime,b.username as writername,b.userid as writerid FROM ***_enewspl a 
    left join ***_ecms_blog b on a.id=b.id WHERE 1 AND b.classid=26) 
    union all 
    (SELECT a.username as comusername,a.userid as comuserid,a.saytext,b.username as writername,b.userid as writerid FROM ***_enewspl a left join ***_ecms_photo b on a.id=b.id WHERE 1 AND b.classid=37) bb LIMIT 8
      

  2.   

    别名,MYSQL要求派生表要有别名
      

  3.   

    但是该城 SELECT comusername,comuserid,saytext,saytime,writername,writerid FROM (SELECT a.username as comusername,a.userid as comuserid,a.saytext,a.saytime,b.username as writername,b.userid as writerid FROM {$dbtbpre}enewspl a left join {$dbtbpre}ecms_blog b on a.id=b.id {$comadd_1}) union all (SELECT a.username as comusername,a.userid as comuserid,a.saytext,b.username as writername,b.userid as writerid FROM {$dbtbpre}enewspl a left join {$dbtbpre}ecms_photo b on a.id=b.id {$comadd_2}) bb OREDR BY saytime DESC LIMIT 8还是有问题,麻烦了
      

  4.   

    SELECT comusername,comuserid,saytext,saytime,writername,writerid FROM 
    (SELECT a.username as comusername,a.userid as comuserid,a.saytext,a.saytime,b.username as writername,b.userid as writerid FROM 
    `***_enewspl` a
    left join `***_ecms_blog` b on a.id=b.id WHERE 1 AND b.classid=26
    union all
    SELECT a.username as comusername,a.userid as comuserid,a.saytext,b.username as writername,b.userid as writerid FROM `***_enewspl` a left join `***_ecms_photo` b on a.id=b.id WHERE 1 AND b.classid=37) 
    bb LIMIT 8注意你的表名,修改一下