Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何组合OrientDB SQL SELECT语句中的字段_Orientdb - Fatal编程技术网

如何组合OrientDB SQL SELECT语句中的字段

如何组合OrientDB SQL SELECT语句中的字段,orientdb,Orientdb,我有一个相当复杂的问题 SELECT FROM ( SELECT EXPAND(INV()) FROM ( SELECT FROM ( SELECT EXPAND(OUTE('Streamed')) FROM ( SELECT EXPAND(OUT('Follows')) FROM #12:3923 ) ) ) ) 可以描述为: 从@rid 12:3923这是一个用户类中,找到他所关注的用户,并查看他们对哪个Post顶点进行了流边

我有一个相当复杂的问题

SELECT FROM (
  SELECT EXPAND(INV()) FROM (
    SELECT FROM (
      SELECT EXPAND(OUTE('Streamed')) FROM (
        SELECT EXPAND(OUT('Follows')) FROM #12:3923
      )
    )
  )
)
可以描述为:

从@rid 12:3923这是一个用户类中,找到他所关注的用户,并查看他们对哪个Post顶点进行了流边


现在,如果可能的话,我还想从在同一行中对每篇文章进行流式处理的人那里获得username User.username。

这些数据集是需要合并的数据集。在您的情况下,第一个是User.username,第二个是Post

select expand($all) let
$a = (//your query for fetching User.username),
$b = (//your query for fetching Post),
$all = unionall($a, $b)
编辑::

好吧,作为一种替代方法,您可以尝试以下内容:

select username, postName from (TRAVERSE out() from #12:3923 WHILE $depth <= 2)
然而,这并不能完全满足您的期望。结果将是两列,即usernamefromuservertex和postnamefrompostvertex

使用为用户获得的用户名,后跟给定的@rid,您将在后续行中获得这些用户的所有对应帖子顶点。相应的用户名列值将为空

我假设,跟随边缘是从用户到用户,流边缘是从用户到帖子

在这个小例子中,你的目标将从顶点“Alessandro”开始,即跟随他的人(Luigi,Gabriele),他们已经流了下来 一些帖子[在本例中是post1,post2]。对吗

编辑 为了便于阅读,请在几行上尝试此处提供的查询:

select username, myPost.name as postBody, myPost.postdate as postDate 
from (select username,out("Streamed") as myPost
      from (select EXPAND(OUT('Follows'))
            from #12:0)
      unwind myPost)
命令“unwind”用于分隔不同立柱的每一行,以便获得最类似于表格的视图。根据您的需要进行调整

查询结果为:

编辑2 使用mypost的查询结果*

您可能想看看unionall函数。我在发帖前确实看到了,但第一个和第二个数据集到底是什么?如何在这个查询中使用它?如何将每个帖子与每个用户名联系起来?许多用户可以流式处理许多帖子。我不明白。查询$a看起来像什么?我认为您不太理解这个问题。是的,正确,我正在寻找以下形式的输出:用户名、postbody、postdate(类似于sql选择用户名)、来自用户的postdate、发布user.userid=post.streamrid。所以有效地结合了从两个表中选择。很好的答案。有没有办法从myPost获取所有字段的原始名称?例如,myPost.*生成的myPostbody看起来像一个bug,而且要指定的字段太多了。如果我确实选择了username,expandmyPost,我只会得到帖子的字段,而没有usernameHi arisalexis,那么命令“Expand”不能与其他字段一起使用,就像我的帖子一样。*,这正是获取myPost所有字段的正确方法。我试着自己做,版本2.1.9似乎工作正常。请参见上面的EDIT2中的图像。是的,它是这样工作的,但我希望将列名作为body而不是myPostbody,因为我将输出提供给自定义ORM。如果您有多个不同的顶点字段,我认为您必须使用别名。