Hash join: Difference between revisions
Content added Content deleted
m (→{{header|LFE}}: removed superfluous colon) |
m (→{{header|LFE}}: Split out into more functions for increased readability) |
||
Line 673:
'()
table))
(defun get-hash (col hash-table)
(proplists:get_value
(proplists:get_value col r)
(defun merge (row-1 row-2)
(defun hash-join (table-1 col-1 table-2 col-2)
(let ((hashed (hash col-1 table-1)))
(lc ((<- r table-2))
(lc ((<- s (
▲ hashed)))
▲ (orddict:merge
▲ (lambda (k v1 v2) v2)
▲ (lists:sort r)
▲ (lists:sort s))))))
</lang>
|