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'))
'早上好!
我注意到查询中别名的奇怪行为:我执行了这个查询(注意 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'))