外面套一个括号吧select * from (
  select ... as keyid, ... as keyid1 from ...
)awhere keyid=1

解决方案 »

  1.   

    as keyid和as keyid1前加end
      

  2.   

    少了endselect t.*,
      case when exists(select 1 from planadmin where city_name = t.city_name) then 1 else 0 end as keyid,
      case when exists(select 1 from planadmin where county_name = t.county_name) then 1 else 0 end as keyid1 
    from t 
    where t.F7 is not null 
      

  3.   

    最简单的方法,在你的第一个sql语句上加一层:
    select * from (
    select t.*,
    case when exists(select 1 from planadmin where city_name = t.city_name) then 1 else 0 as keyid,
    case when exists(select 1 from planadmin where county_name = t.county_name) then 1 else 0 as keyid1 
    from t 
    where t.F7 is not null ) 
    where keyid=1