join: discard tmp group fields after callback
add outerJoin