我需要在一个查询中指定以下内容:它应该包括为指定注册的每个子项的Activity_name
和Child_first_name
和last_name
事件。 事件表
中有(足球/艺术/IT)事件(每个事件都有primary_key
)。列出注册参加艺术事件的 child 的查询是什么? child 姓名应显示在一列中。谢谢。
最佳答案
如果不提供您的表结构,我无法提供准确的查询。
但是,如果我要设计一组表来存储 child 列表、事件列表以及两者之间的关联,则它将由三个名为“ child ”、“事件”和“本例中为“链接表”。
children
id
first_name
last_name
activities
id
name
linktable
child_id
activity_id
children
存储每个 child 的姓名和信息,以及唯一的 ID。 activities
存储事件的名称和相关信息,以及唯一的 ID。最后,linktable
可能类似于系统中的“计划”或“注册”,并且应该将子项链接到事件并允许所谓的多对多
关系。换句话说,一个 child 可以参加很多事件,而任何事件也可能有很多 child 参与。
以下查询是如何查看哪些 child 报名参加 Art 的示例:
SELECT
a.name, CONCAT(c.first_name, ' ', c.last_name) AS child_name
FROM
children c, activities a, linktable
WHERE
linktable.child_id = c.id
AND
linktable.activity_id = a.id
AND
a.name = 'Art';
关于mysql对单个数据库表的单个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4527898/