单行记录

mwngjboj  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(176)

hellow我想创建一个表格,显示你一周的日程安排,它没有工作,它把每天的每一个工作在另一行,但我想它在一个单独的一行

select distinct jour.date_jour,matiere.etudes,day_matiere.start_time,day_matiere.end_time
from day_matiere
    inner join jour on jour.id_jour=day_matiere.id_jour
    inner join matiere on matiere.id_matiere=day_matiere.id_matiere
    inner join class on class.id_class=day_matiere.id_class
    inner join fillere on fillere.id_fillere=day_matiere.id_fillere
    GROUP BY jour.date_jour,matiere.etudes,day_matiere.start_time,day_matiere.end_time

我得到的结果是

但我想要这样的结果(照片)

我尝试了小组或独特的,但它没有工作,我尝试了1周,我可以提供更多的信息

hrirmatl

hrirmatl1#

每个案例的列数不能可变。
您所能做的是获得列的串联值的逗号分隔列表,其中 string_agg() 全部在1列中:

select 
  j.date_jour,
  string_agg(m.etudes || ' ' || dm.start_time || ' ' || dm.end_time, ', ') col
from day_matiere dm
inner join jour j on j.id_jour = dm.id_jour
inner join matiere m on m.id_matiere = dm.id_matiere
inner join class c on c.id_class = dm.id_class
inner join fillere f on f.id_fillere = dm.id_fillere
group by j.date_jour

相关问题