【问题标题】:Selection of recurrence rules of recurring appointments定期约会的定期规则选择
【发布时间】:2014-06-20 10:08:32
【问题描述】:

我有 3 种重复类型的约会:1 = 主约会、2 = 常规约会和 3 = 例外。每个定期约会都有一个外键值,它引用重复规则表的主键。可能是主服务器已被删除,也可能是具有特定规则的重复预约序列中只剩下一个预约。

我想从约会关系/表中选择所有不同的行,其中规则表的主键的外键不为空(并且我需要选择找到的行的所有列)。此外,我需要一个可在大多数关系数据库(PostgreSQL、MySQL、MS-SQL、Derby...)中执行的查询。

我基本上想为每个引用此规则的重复规则选择一个约会,第一个约会具有“最低”开始日期。

可能就像 SELECT DISTINCT RECRULE, * FROM APPOINTMENTS 一样简单,但我不确定这是否是有效的 SQL。

亲切的问候 约翰内斯

【问题讨论】:

  • 样本数据和预期结果有助于澄清大多数问题。

标签: sql


【解决方案1】:

听起来您正在寻找正在使用的参考表中的规则。如果是这样:

select r.*
from recurrent r
where exists (select 1
              from appointments a
              where a.recurrentid = r.recurrentid
             );

这是标准 SQL,应该适用于所有数据库。

【讨论】:

  • 我认为这是另一个 SELECT 语句,因为我想要约会... SELECT * FROM 约会 a where a.recurrentid IN(您的查询)。
猜你喜欢
  • 2014-04-27
  • 2013-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多