Hi, Julian, I am writing down some detailed examples of join and need your further help in understanding the semantic meaning of the following example:
SELECT id, value, cost FROM Orders OVER (ROWS 3 PRECEDING) JOIN Shipments OVER (ROWS 3 PROCEDING) ON Orders.id = Shipments.id In this example, if id is not the row number, what would be the default semantic meaning of the join? Does it mean that each sliding window in Orders now need to join with each sliding window in Shipments? If that's the case, that would be equivalent to removing all the windows and just do a full stream-to-stream join, which is not possible for infinite streams. Hence, does not make sense to define window in the query here. On the other hand, if the semantic of the join is to join the "current windows" from both streams, how do we align the windows from two streams? Because in this case, when the query starts from two streams now determines the results. Does the above example make sense in SQL? Or should we just declare that this is not supported as joins of two streams w/o time-bound? Thanks! -Yi