SELECT dk.*, st_area (dk.geom :: geography) AS area, st_asewkt (dk.geom) AS ewkt FROM "TB_GHDKA" AS dk WHERE ST_Contains ( ST_GeomFromText ( 'POLYGON ((109.51142919411961 18.322906808030652, 109.51382391646248 18.323160890707612, 109.51812407725552 18.318549085673954, 109.52096478636398 18.31677099219241, 109.52639647097506 18.31534849921383, 109.52681717214205 18.307529099172545, 109.51255360145637 18.30725787066725, 109.50859860338323 18.311988017573178, 109.51142919411961 18.322906808030652))', 4326 ), dk.geom ) AND dk.kzxxgyddm like '%090101%' AND ST_Area (dk.geom :: geography) >= 12000 AND ST_Area (dk.geom :: geography) <= 40000 AND NOT EXISTS ( SELECT 1 FROM "TB_YJJBNTBH" AS nt WHERE ST_Intersects (dk.geom, nt.geom) ) AND EXISTS ( SELECT 1 FROM "TB_CZKFBJ" AS bj WHERE ST_Contains (bj.geom, dk.geom) );