OrientDB:别名不起作用?

OrientDB: alias not working?

'早上好!

我注意到查询中别名的奇怪行为:我执行了这个查询(注意 WHERE 子句中别名的使用)

SELECT traversedElement(1).start AS stime, traversedElement(2) AS destination 
FROM (TRAVERSE both('Involves') FROM #11:11052 WHILE $depth <= 2)
WHERE @rid = #11:8395 
AND stime = DATE('31.10.2014 11:00:00')

我得到了一个空结果,同时避免在 WHERE 子句中使用 stime 别名导致查询产生正确的结果。

SELECT traversedElement(1).start AS stime, traversedElement(2) AS destination 
FROM (TRAVERSE both('Involves') FROM #11:11052 WHILE $depth <= 2)
WHERE @rid = #11:8395 
AND traversedElement(1).start = DATE('31.10.2014 11:00:00')

有人知道这是怎么回事吗? WHERE 子句中是否不处理别名?

@阿尔贝托 如果您使用别名,您不能立即在 where 子句中使用它。 您有两种不同的方式来执行查询

1)

 select from (SELECT traversedElement(1).start AS stime, traversedElement(2) AS destination 
    FROM (TRAVERSE both('Involves') FROM #11:11052 WHILE $depth <= 2)
    WHERE @rid = #11:8395) where stime = DATE('31.10.2014 11:00:00')

2)

select start as stime,destination from (SELECT traversedElement(1).start, traversedElement(2) AS destination 
FROM (TRAVERSE both('Involves') FROM #11:11052 WHILE $depth <= 2)
WHERE @rid = #11:8395 AND traversedElement(1).start = DATE('31.10.2014 11:00:00'))