【发布时间】:2020-01-25 19:16:54
【问题描述】:
我有分散在多个表和行中的数据,我希望将这些数据聚合成更适合我的用例的格式。问题归结为这样的事情......
如果我有两个这样的表:
product_id title_id description_id
1 123 234
2 345 456
3 567 678
product_id additional_info_id
1 789
1 890
2 901
如何构造一个查询来返回这样的数据?
product_id content_id content_type
1 123 title
1 234 description
1 789 additional_info
1 890 additional_info
2 345 title
2 456 description
2 901 additional_info
3 567 title
3 678 Description
我找到了this 的帖子,我可以构建这样的查询
select
p.product_id,
p_content.*
from
product p,
lateral (values
(p.title_id, 'title'),
(p.description_id, 'description')
) p_content (content_id, content_type)
;
以我需要的格式从product 表中获取数据,但我不知道如何合并additional_info 表中的数据。
【问题讨论】:
标签: sql postgresql