JoinInMem3Rename.yqls 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. (
  2. (let config (DataSource 'config))
  3. (let list1 (AsList
  4. (AsStruct '('key1 (Int32 '1)) '('value1 (String 'A)))
  5. (AsStruct '('key1 (Int32 '7)) '('value1 (String 'B)))
  6. (AsStruct '('key1 (Int32 '4)) '('value1 (String 'C)))
  7. (AsStruct '('key1 (Int32 '4)) '('value1 (String 'D)))
  8. ))
  9. (let list2 (AsList
  10. (AsStruct '('key2 (Int32 '9)) '('value2 (String 'Z)))
  11. (AsStruct '('key2 (Int32 '4)) '('value2 (String 'Y)))
  12. (AsStruct '('key2 (Int32 '3)) '('value2 (String 'X)))
  13. (AsStruct '('key2 (Int32 '4)) '('value2 (String 'W)))
  14. (AsStruct '('key2 (Int32 '8)) '('value2 (String 'V)))
  15. ))
  16. (let list3 (AsList
  17. (AsStruct '('key3 (Int32 '1)) '('value3 (String 'G)))
  18. (AsStruct '('key3 (Int32 '4)) '('value3 (String 'H)))
  19. (AsStruct '('key3 (Int32 '2)) '('value3 (String 'I)))
  20. (AsStruct '('key3 (Int32 '3)) '('value3 (String 'J)))
  21. (AsStruct '('key3 (Int32 '3)) '('value3 (String 'K)))
  22. ))
  23. (let joinInnerInner (EquiJoin '(list1 'a) '(list2 'b) '(list3 'c) '('Inner '('Inner 'a 'b '('a 'key1) '('b 'key2) '()) 'c '('b 'key2) '('c 'key3) '())
  24. '('('rename '"a.key1" 'col1) '('rename '"b.value2" '"") '('rename '"c.key3" 'ccc))))
  25. (let res_sink (DataSink 'result))
  26. (let world (Write! world res_sink (Key) joinInnerInner '('('type))))
  27. (let world (Commit! world res_sink))
  28. (return world)
  29. )