2014-10-21 2 views
2

은 내가 JOIN<을 사용하지만 오류가 발생 할 :BigQuery에서 불평등 결합을 수행하는 방법은 무엇입니까?

Error: ON clause must be AND of = comparisons of one field name from each table, with all field names prefixed with table name.

검색어 :

select 
    o1.order_number, 
    o1.datetime, 
    LAST(o2.datetime), 

from spree.orders_unique as o1 
join spree.orders_unique as o2 
    on o1.order_number = o2.order_number 
    and o1.datetime < o2.datetime 
group by o1.order_number, o1.datetime 

내가 이것을 어떻게 할 것인가?

답변

4

현재이 문제에/스타를 투표 할 수 있습니다 https://code.google.com/p/google-bigquery/issues/detail?id=39이 쿼리가 부족할 경우 사용 CROSS JOIN EACH을 할 수 있습니다 당신은 불평등을

select 
    o1.order_number, 
    o1.datetime, 
    LAST(o2.datetime), 

from spree.orders_unique as o1 
CROSS JOIN spree.orders_unique as o2 
where o1.order_number = o2.order_number 
    and o1.datetime < o2.datetime 
group by o1.order_number, o1.datetime 

주를 실행하는 CROSS JOIN + A WHERE 절을 사용할 필요가

리소스

+0

감사합니다. 너무 느리고 안 좋아요. – Tjorriemorrie

관련 문제