我正在尝试在Drill中运行需要不等式连接的查询(例如'on a.event_time> = b.event_time和a.event_time< b.next_event_time')。我收到Drill不支持不等式连接的错误,这也是我在线阅读的内容。
在不使用不等式连接的情况下,是否有任何工作可以在钻取中使用以获得相同的结果?所有我能想到的是扩展我的一个表,以便在我尝试加入的字段的每次迭代中包含重复行,但我猜测Drill用户可以更直接地解决这个问题。
答案 0 :(得分:1)
我猜你正在尝试
SELECT *
FROM Table1
JOIN Table2
ON Table1.time > Table2.time
你能试试吗?
SELECT *
FROM Table1, Table2
WHERE Table1.time > Table2.time
答案 1 :(得分:0)
这很hacky但是我能够通过在" WHERE"中复制和捆绑连接的逻辑来使它工作。子句,然后在连接的反面添加一个OR。
例如,如果你想做
SELECT * FROM
ORDERS as Ord
LEFT JOIN Customers as Cus
ON Cus.CustomerID = Ord.CustomerID
AND Cus.CustomerType <> 'Employee'
你可以这样做:
SELECT * FROM
ORDERS as Ord
LEFT JOIN Customers as Cus
ON Cus.CustomerID = Ord.CustomerID
WHERE ((Cus.CustomerID = Ord.CustomerID
AND Cus.CustomerType <> 'Employee') OR (Cus.CustomerID <> Ord.CustomerID))