I am new to postgis and I need to find intersection of three polygons. In my table named "mytable" contains large no of polygon coordinates and grouped into three categories by adding a field called "filename".I labelled the category names as part1, part2, part3 in filename . Now I need to find all polygon which spacially intersect in three categories. I write my code as:
SELECT ST_Intersection(a.geom, b.geom) as intersect_ab
FROM mytable a
INNER JOIN mytable b
ON ST_Intersects(a.geom,b.geom)
INNER JOIN mytable c
ON ST_Intersects(a.geom,c.geom)
WHERE ST_Overlaps(a.geom, b.geom)
AND ST_Overlaps(b.geom, c.geom)
AND ST_Overlaps(a.geom, c.geom)
AND ST_isvalid(a.geom)='t'
AND ST_isvalid(b.geom)='t'
AND ST_isvalid(c.geom)='t'
AND a.filename = 'part1'
AND b.filename = 'part2'
AND c.filename = 'part3');
But it returns wrong answer