繁体   English   中英

4表的SQL联合

[英]SQL Union of 4 tables

我有4个不同的表:

  • 地址:address_id,邮政编码。
  • 患者:address_id,姓名。
  • FocusArea:geom。
  • 邮政编码:geom,邮政编码。

我需要找到关注区域内患者的姓名。

我已经设法获得了患者居住的邮政编码以及重点区域内的邮政编码,但是我不知道如何将这两个查询结合起来:

SELECT 
    air.address.postcode, air.patient.name
FROM 
    air.address 
INNER JOIN 
    air.patient ON patient.address_id = address.address_id;

SELECT 
    postcode as postcode
FROM 
    air.postcode, air.focusarea
WHERE
    air.focusarea.objectid = 1 
    AND ST_Intersects(air.postcode.geom, air.focusarea.geom);

air.focusarea.objectid = 1因为焦点区域有不同的边界。

有任何想法吗?

谢谢

塔尼亚

select
   a.postcode, p.name
from air.address as a
    inner join air.patient as p on
        p.address_id = a.address_id
    inner join air.postcode as pc on
        pc.postcode = a.postcode
    inner join air.focusarea as fa on
        fa.objectid = 1 and
        ST_Intersects(pc.geom, fa.geom);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM