我有一个数据库,其中包含有关合唱团(分为多个部分)和他们的父母成员的信息。我需要建立一个电子邮件列表,其中包含合唱团特定部分的所有孩子以及他们的父母。寻找父母的孩子的财产
有一个大表COMPersonen
其中包含我需要的所有个人信息(尤其是他们的ID号码Nummer
和主要电子邮件地址Serienbrief E-Mail Adresse
)。
另一个表COMPBereiche
包含某个人在某个特定时间属于哪个合唱团的哪个部分(Bereich (Nr)
)的所有细节。它通过Nummer
/Person (Nr)
链接到主表。 [Bis]
(=“until”)字段可用于通过检查该字段是空的还是设置为未来的日期来确定某个人当前是否为部门成员。
最后(至少为此目的)有一个表,其中包含所有父母的身份证号码(Elternteil (Nr)
)及其子女的身份证号码(Kind (Nr)
)。当然,每个家长可以有不止一个孩子,反之亦然。
到目前为止,这是非常简单的。在访问中,关系是这样的:
最简单的部分是构建返回在合唱团的特定部分孩子的所有地址(例如部分与ID Bereich (Nr) = 4
)查询:
SELECT COMPersonen.Nummer, COMPersonen.[Serienbrief E-Mail Adresse],
COMPBereiche.[Bereich (Nr)], COMPBereiche.Bis
FROM COMPersonen
INNER JOIN COMPBereiche ON COMPersonen.[Nummer] = COMPBereiche.[Person (Nr)]
WHERE (((COMPersonen.[Serienbrief E-Mail Adresse]) Is Not Null)
AND ((COMPBereiche.[Bereich (Nr)])=4)
AND ((COMPBereiche.[Bis]) Is Null Or (COMPBereiche.[Bis])>=Date()));
但现在我还需要父母他们的孩子都在此刻的合唱团第4节的地址。我会怎么做呢?最后,两个SELECT
陈述将需要结合,但我的猜测是,这是一个简单的UNION
,对吧?
你能使用使用现有查询子查询? '选择persons.email作为parent_email其中child_id在(选择id从my_existing_query)' – GGGforce
听起来似乎合理,我只需要找到一种方法去'child_id' ...让我的尝试... –
你想只有父母孩子在第4节?或者你需要在你的查询分隔行?或像父母,电子邮件,孩子,电子邮件一样的行? – Vecchiasignora