微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决逆向步骤,将 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 举报,一经查实,本站将立刻删除。