我需要在一个查询中指定以下内容:对于为指定的Activity注册的每个子项,它应包含Activity_name
和Child_ first_name
以及last_name
。 Activity Table
中有(足球/艺术/ IT)活动(每项活动都有primary_key
)。什么是列出为艺术活动注册的儿童的查询?子名称应显示在一列中。感谢。
答案 0 :(得分:2)
如果不提供表格结构,我就无法提供准确的查询。
但是,如果我要设计一组存储子项列表,活动列表以及两者之间的相关性的表,它将包含三个名为“children”,“activities”和“ linktable“在这个例子中。
children
id
first_name
last_name
activities
id
name
linktable
child_id
activity_id
children
存储每个孩子的姓名和信息,以及唯一的ID。 activities
存储有关活动的名称和相关信息,以及唯一ID。最后,linktable
可能类似于系统中的“计划”或“注册”,并且应该将子项链接到活动并允许所谓的many-to-many
关系。换句话说,一个孩子可以参加许多活动,许多孩子可以参与任何活动。
以下查询是如何查看哪些子项已注册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';