我的数据库里有三张table。
表1结构:
date, family, class2, sec2, core1, nlm
表2结构:
date, family, class2, sec2, core2, prefix
表3结构:
date, family, class3, sec3, core3, root
我想创建一个结合这三个表的视图。视图的结构如下:
date, class, sec, core, group_of_family
类在表1中显示为class1,表3中显示为class2,表3中显示为class3。sec和core也一样。
在上述数据中,一组日期、类别、秒和核心可以是不同系列的一部分,如:
表1结构:
date, family, class2, sec2, core1, nlm
22/7/2020, f1, r1, p1, xyz, pqr
22/7/2020 f2, r1, p1, xyz, pqrs
24/7/2020 f5, r2, p4, sds, dsg
表2结构:
date, family, class2, sec2, core1, nlm
22/7/2020, f4, r1, p1, xyz, pqr
24/7/2020 f8, r6, p1, fds, sdg
表3结构:
date, family, class2, sec2, core1, nlm
28/7/2020, f14, r1, p1, xyz, pqr
24/7/2020 f18, r6, p1, fds, sdg
所以我想要的视图应该是这样的:
date, class, sec, core, group_of_family
22/7/2020, r1, p1, xyz, f1,f2,f4
24/7/2020, r2, p4, sds, f5
24/7/2020, r6, p1, fds, f8,f18
28/7/2020, r1, p1, xyz, f14
我是一个新的postgresqldb,在编写复杂查询方面没有太多经验。
有人能帮我问一下吗?谢谢。
2条答案
按热度按时间ep6jt1vc1#
所以给定的数据是:
查询:
检查预期结果:
jaql4c8m2#
你必须使用
string_agg()
功能,