From Kx Wiki
Revision as of 04:18, 3 May 2011 by Chris Burke (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

pj (plus join verb)

The pj (plus join) verb joins tables on the key columns of its right argument. The left argument is a table, and the right argument is a keyed table, where the key columns must be a subset of the columns of the left argument.

pj adds matching records in the right argument to those in the left argument, by adding common columns, other than the key columns. These common columns must be of appropriate types for addition.


q)r:t1 pj t2

For each record in t1:

For example:

q)show x:([]a:1 2 3;b:`x`y`z;c:10 20 30)
a b c
1 x 10
2 y 20
3 z 30
q)show y:([a:1 3;b:`x`z]c:1 2;d:10 20)
a b| c d
---| ----
1 x| 1 10
3 z| 2 20
q)x pj y
a b c  d
1 x 11 10
2 y 20 0
3 z 32 20

Note that in the example above, pj is equivalent to x+0^y[`a`b#x] (compute the value of y on a and b columns of x, fill the result with zeros and add to x).

See also

For a complete list of functions, see the kdb+ Function Reference.

Personal tools