逆向步骤,将 SQL 查询转换回元组关系演算?

问题描述

不确定它是否是正确的 sql,并希望将 sql 反向转换回元组关系演算以检查正确性。 假设我们提出这个查询显示所有完成介绍的参与者都完成了所有需求类的类。 所以我们有两个表,进度表和需求表。其中progress: mId (string),cId (string) and requirements: : cId (string),rId (string) 所有的注册都在进行中,所有的需求都是指定的需求表。

mId:memeberId
cId:cId
rId:requirmentClassId



Select cId 
From requirement r 
Where r.rId in (Select distinct(cId) 
                From progress 
                Where mId in (Select mId 
                              From  progress 
                              Where cId='intro'
                               )
                );

我们首先从他们完成介绍会话的进度表中选择所有成员。 Select mId From progress Where cId='intro'

然后我们有完成介绍的所有成员,因此我们可以选择成员完成的所有其他不同的课程。

Select distinct(cId) 
                From progress 
                Where mId in (Select mId 
                              From  progress 
                              Where cId='intro'
                               )
                )

现在我们已经完成了所有完成介绍的成员完成的所有课程,现在我们可以找出应该提供给完成介绍的所有成员的所有下一个可能的课程吗?

好的,在我写完问题后,我认为这个查询是不正确的,因为现在我们已经让所有参加介绍的成员完成了所有课程,但不一定所有课程都由个别学生完成,正确的 ?请检查我的工作。非常感谢任何帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)