我对postresql视图有一个问题。我做了一个从两个表中获取信息的视图。一个记录了他们的姓名、号码和电话号码,另一个记录了他们的家庭地址、工作地址、电子邮件、创建日期、地址类型1和2从属地址,无论是公司还是家庭以及其他类似的事情。我确实得到了一个视图,但它显示了所有信息。
如果一个客户输入了20个公司地址和家庭地址,那么也会出现20个公司地址,我想向我显示给定客户输入的最后一个公司地址和最后一个家庭地址。如果我有3个客户端,有5个工作地址和家庭地址,我想给每个客户端最后一个家庭地址和工作地址。
发布于 2019-11-24 20:54:17
如果您希望每个客户端都有一条记录,那么distinct on就会出现在脑海中。如下所示:
select distinct on (client_id) t1.*, t2.*
from t1 join
t2
using (client_id)
order by cllient_id, t2.created_at desc;发布于 2019-11-25 04:43:03
--查看: public.vi_a
-- DROP VIEW public.vi_a;
CREATE OR REPLACE VIEW public.vi_a AS
SELECT pmc.employee_id AS "FF",
pmc.first,
pmc.surname,
ppa.address_1,
ppa.address_2,
ppa.date,
ppa.address_type,
ppa.employee
FROM a pmc
LEFT JOIN b ppa ON pmc.employee_id = ppa.employee;
ALTER TABLE public.vi_a
OWNER TO postgres;所以我创建了一个视图
只有红色依赖类型中的内容,无论是1还是2,都应该出现在视图enter image description here中
https://stackoverflow.com/questions/59017817
复制相似问题