【发布时间】:2021-02-25 15:26:06
【问题描述】:
我想要一个显示会议日期和活动参与者姓名的查询。在每一行中显示会议日期和活跃参与者。他们来自不同的桌子。桌子会议只存储参加会议的参与者。 第一个查询就像(桌会):
Select m.date_meet as meeting date from meeting m where m.date_meet between
'1-1-2020' and '10-09-2020'
另一个选择是(表参与者):
select p.participants_name as participant name from participants p where p.start <
'some_unique_Date' and p.end > 'some_unique_date'
另一个例子:
想象这个查询的结果是 4 行
select m.date_meet as meeting date from meeting m where m.date_meet between '1-1-2020' and '10-09-2020'
喜欢:
会议日期
- 2020 年 1 月 20 日
- 2020 年 4 月 10 日
- 2020 年 7 月 20 日
- 9-25-2020
因此,对于每一行,将其传递给第二个查询:
select p.participants_name from participants p where p.start <
'some_unique_Date' 和 p.end > 'some_unique_date'
意思是:
select p.participants_name as participant name from participants p
where p.start < '1-20-2020' and p.end > '1-20-2020'
select p.participants_name as participants name from participants p
where p.start < '4-10-2020' and p.end > '4-10-2020'
select p.participants_name as participants name from participants p
where p.start < '7-20-2020' and p.end > '7-20-2020'
etc .. .
我想要的结果是这样的:
meeting date | Active Participants name
1. 1-20-2020 | john , Eduards, mike, Daniel, Maria
2. 4-10-2020 | Eduards, mike, Daniel,Maria Ali
3. 7-20-2020 | john , Eduards, mike, Maria, Ali, Joe, Carls
4. 9-25-2020 | Mike, Maria, Louise, Anna, Cristopher, Elton
表格参与者具有星号、结尾和名称等字段。这意味着参与者激活的开始,参与者激活期的结束和名称。 餐桌会议有 date_meeting、number_meeting、participants_meeting 等字段。
【问题讨论】:
-
请提供 2 个表的 CREATE TABLE 语句和一些示例数据。会议与其参与者之间是否存在某种关系(不仅仅是日期)?会议只持续一天吗?两个会议不能重叠日期吗?
-
我只是解决这个查询我给你看一个例子。
标签: sql postgresql