select id from fanwe_city where pid=(SELECT cityid FROM fanwe_article where id=5) or id=(SELECT cityid FROM fanwe_article where id=5) order by id desc limit 0,50这里出现了2次:SELECT cityid FROM fanwe_article where id=5怎么写这个sql可以简化为1个呢

解决方案 »

  1.   

    select id from fanwe_city a , (SELECT cityid FROM fanwe_article where id=5) b where a.pid=b.cityid or a.id=b.cityid
      

  2.   

    select A.id
    from fanwe_city A,fanwe_article B
    where B.id=5 and (A.pid=B.cityid or id=B.cityid)
    order by A.id desc 
    limit 0,50;
      

  3.   

    select id from fanwe_city c inner join fanwe_article a on c.pid = a.cityid  or c.id = a.cityid   where a.id = 5 order by id desc limit 0,50 ;
      

  4.   

    select A.id
    from fanwe_city A,fanwe_article B
    where B.id=5 and (A.pid=B.cityid or id=B.cityid)
    order by A.id desc 
    limit 0,50;