我有一个键控表(tableA),我想用另一个键控(tableB)表中的更改来更新它,但是仅使用tableB中的键与tableA中的键匹配的记录来更新。换句话说,我不希望tableA中有任何新记录,我只想更新该区域中已有的记录。 tableA将具有一些tableB中不存在的列,我想保留这些列的原始值。例如,如果tableA和tableB看起来像这样:
tableA:([lname:`Dent`Beeblebrox`Prefect; fname:`Arthur`Zaphod`Ford]; iq:98 42 126; age: 23 49 78)
lname fname | iq age
-----------------| -------
Dent Arthur| 98 23
Beeblebrox Zaphod| 42 49
Prefect Ford | 126 78
tableB:([lname:`Dent`Dirk; fname:`Arthur`Gently]; iq:105 118) <-- no age column
lname fname | iq
------------| ---
Dent Arthur| 105
Dirk Gently| 118
那么更新的预期结果将是:
lname fname | iq age
-----------------| -------
Dent Arthur| 105 23 <-- iq updated, age left alone
Beeblebrox Zaphod| 42 49
Prefect Ford | 126 78
* Dirk Gently NOT added because he didn't exist in tableA
非常感谢有人可以给我一种以这种方式更新表的有效语法。
答案 0 :(得分:2)
lj
是您想要的:
q)tableA lj tableB
lname fname | iq age
-----------------| -------
Dent Arthur| 105 23
Beeblebrox Zaphod| 42 49
Prefect Ford | 126 78