我有一张表,上面列出的课程是RELATEd by requires_prerequisite和其他课程。我试图获得课程的二级先决条件依赖性(以课程作为先决条件的课程),我有一个查询如下:
SELECT id, <-requires_prerequisite<-course<-requires_prerequisite<-course AS indirect_postrequisites
FROM course WHERE id = course:APS105;这给了我这个:
[
{
"time": "526.8µs",
"status": "OK",
"result": [
{
"id": "course:APS105",
"indirect_postrequisites": [
"course:ECE345",
"course:ECE297",
"course:ECE344",
"course:ECE295",
"course:ECE345",
"course:ECE297",
"course:ECE344",
"course:ECE295"
]
}
]
}
]但是,正如您所注意到的,这里有重复的条目。我如何过滤掉重复的条目?在标准SQL中,我将使用
SELECT DISTINCT `in` FROM requires_prerequisite
WHERE `out` IN (SELECT `in` FROM requires_prerequisite WHERE `out`='APS105';但如果我试着用
SELECT DISTINCT id, <-requires_prerequisite<-course<-requires_prerequisite<-course AS indirect_postrequisites
FROM course WHERE id = course:APS105;然后我得到
{
"code": 400,
"details": "Request problems detected",
"description": "There is a problem with your request. Refer to the documentation for further information.",
"information": "There was a problem with the database: Parse error on line 1 at character 0 when parsing 'SELECT DISTINCT id, <-requires_prerequisite<-course<-requires_prerequisite<-course AS indirect_postr'"
}如何筛选出重复的值?
如果你想知道副本为什么会出现,那是因为
RELATE course:ECE297->requires_prerequisite->course:APS105;
RELATE course:ECE297->requires_prerequisite->course:ECE244;
RELATE course:ECE244->requires_prerequisite->course:APS105;发布于 2022-11-05 08:17:41
在搜索完文档之后,我找到了array::distinct() function,它做了我想做的事情:
SELECT id, array::distinct(<-requires_prerequisite<-course<-requires_prerequisite<-course) AS indirect_postrequisites FROM course WHERE id = course:APS105;[
{
"time": "537.8µs",
"status": "OK",
"result": [
{
"id": "course:APS105",
"indirect_postrequisites": [
"course:ECE345",
"course:ECE297",
"course:ECE344",
"course:ECE295"
]
}
]
}
]https://stackoverflow.com/questions/74326176
复制相似问题