首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将SQL查询重写为SurrealQL

将SQL查询重写为SurrealQL
EN

Stack Overflow用户
提问于 2022-09-28 09:13:07
回答 1查看 199关注 0票数 1

我从SurrealQL大学重写了一些旧的SQL问题,以学习surrealDB,但经过几天的思考,我无法解决这个问题:

找到所有来自同一个系的学生和教授,他们共同度过生日。

这是如何在SQL中解决这个问题的:

代码语言:javascript
复制
select st.stname, pf.profname, st.stbmonth, st.stbday
 from STT st
 join PROFT pf on st.stdepid = pf.profdepid
and st.stbmonth = pf.profbmonth
and st.stbday = pf.profbday;

下面是我为SurrealDB使用的数据

这是我最好的尝试:

代码语言:javascript
复制
select *, ->stdep->dep<-profdep<-prof from student;

这给了我,每个学生都有一个来自同一个系的教授名单。问题是没有办法根据学生来过滤教授的名单。

应该工作但不起作用的查询:

代码语言:javascript
复制
select *, ->stdep->dep<-profdep<-prof[where profbday == stbday && profbmonth == stbmonth] from student;

似乎你不能在教授的背景下访问学生的属性。

我认为,在SurrealQL中,并不是所有的查询都是可能的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-29 08:24:20

经过几天的修补,我终于解决了!

代码语言:javascript
复制
select st.stname as stname, prof.profname as profname, st.stbmonth as bmonth, st.stbday as bday 
from (select id as st, ->stdep->dep<-profdep<-prof as prof 
from student split prof)
 where (prof.profbday == st.stbday) 
 and (prof.profbmonth == st.stbmonth);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73878943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档