gpt4 book ai didi

mysql - 具有嵌套内连接和相同列名的 SQL 查询

转载 作者:行者123 更新时间:2023-11-29 16:53:08 25 4
gpt4 key购买 nike

我在 sql 上有这 4 个表:

组件

名称、描述、ID

元素

ID、名称、描述、组件

练习

ID、名称、描述、元素

事件

ID、名称、描述、实践

最终日期

ID,事件

它们之间的关系如下:

Component(ID)---->Element(Component)
Element(ID)------>Practice(Element)
Practice(ID)----->Activity(Practice)
Activity(ID)----->FinalDate(Activity)

我想要查询每个组件,我想要获取每个事件及其最终日期。

这就是我现在拥有的

"select componente.Nombre, componente.Descripcion, elemento.* from Componente componente inner join 
(select elemento.Componente, practica.* from Elemento elemento inner join
( select practica.Elemento, actividad.* from Practica practica inner join
(select actividad.*, fecha.* from Actividad_FechasFinales fecha inner join
(select actividad.Practica, actividad.ID from Actividad)
actividad on fecha.Actividad = actividad.ID)
actividad on actividad.Practica = practica.ID )
practica on practica.Elemento = elemento.ID )
elemento on componente.ID = elemento.Componente"

最佳答案

我认为您不需要所有这些子查询,一个简单的JOIN就足够了。请注意,我假设您的 FinalDate 表中有一个 Date 列,尽管您在说明中没有提及它:

SELECT c.Name, a.Name, f.Date
FROM components c
JOIN elements e ON e.Component = c.ID
JOIN practice p ON p.Element = e.ID
JOIN activity a ON a.Practive = p.ID
JOIN FinalDate f ON f.Activity = a.ID

关于mysql - 具有嵌套内连接和相同列名的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52712614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com