给一个赋值后的SQL出来先。  

解决方案 »

  1.   

    3个UNION做子查询,这是要卡死人啊
      

  2.   

    你的") as a left join {$dbtbpre}enewsmemberadd as b on a.userid=b.userid"输出没有userid
      

  3.   

    第一个子查询输出的字段列表:
    select id,classid,titleurl,filename,title,newstime,titlepic from
    里面没有userid嘛
      

  4.   

    1. 如果是高频率操作的话   考虑一下合并这3个的表的信息,或者建立中间表2.不动表结构的话, 子查询这个 a 是会创建临时表,数据过大会因磁盘临时表,所以这个临时的表的结果集一定要小。
    针对的A的条件过滤直接在子查询中完成。
    3.确保你的A的返回结果集中不要包含 blob text
    4.这样的返回的结果集还是很大的话,或者有BLOB,text,
     那可以考虑A只返回查询关联需要的主键,等算选出了7个你要的主键后再去获取列表,效率反而会更高。