kdb - KDB 仅获取仅存在于一张表中的行
问题描述
我有两个表 table1 和 table2。两者都有 4 列具有相同的列名。table1 有 50 行,table2 有 100 行。如何仅从 table2 中获取那些在 table1 中不存在的行。我尝试执行左连接,但我不能这样做,因为我们不能使用所有列进行左连接。
解决方案
由于表是字典列表,因此您可以使用except
关键字排除table2
在 中找到的所有行table1
。
例如:
q)table1:([]a:til 3;b:3#.Q.a;c:3#.Q.A)
q)table1
a b c
-----
0 a A
1 b B
2 c C
q)table2:([]a:til 6;b:6#.Q.a;c:6#.Q.A)
q)table2
a b c
-----
0 a A
1 b B
2 c C
3 d D
4 e E
5 f F
q)table2 except table1
a b c
-----
3 d D
4 e E
5 f F
推荐阅读
- python - 在 graph_tool 中为标签 (vertex_text) 设置 zorder
- perl - perl 模块 Params Validate 需要一个编译器
- javascript - [ERR_INVALID_ARG_TYPE]
- c# - 在带有 ReactiveUI 的 ViewModel 中使用 WPF UI 元素属性值
- javascript - 如何使用 React 在我的域中创建多个页面?
- python - Django MySQL 原始查询不返回结果
- azure - Azure 持久实体的大小限制是多少
- dynamics-crm - Dynamics CRM:检索实体的所有 OptionSet 值?
- python - Sympy 中的元素划分
- excel - 如何用字符串制作一种枢轴?