KDB是否可以执行以下操作:
(在SQL中为您提供等价物)
select column1
from table1 alias1
join table1 alias2
where alias1.column2 = alias2.column2
答案 0 :(得分:0)
是的,例如:
q)t:([]k: 1 2 1; v:`A`B`C)
q)ej[`k;t;t]
k v
---
1 A
1 C
2 B
1 A
1 C
更新:您可以根据需要过滤结果:
q)select from ej[`k;t;t] where (v=`A) or k=2
k v
---
1 A
2 B
1 A
更新2 :如果您需要的只是找到重复项,则根本不需要自行加入您的表:
q)t:([]k: 1 2 3 4 5; v:`A`B`A`C`C)
q)select from t where 1<(count;v)fby v
k v
---
1 A
3 A
4 C
5 C
答案 1 :(得分:0)
对于第二个问题(不要让我评论,所以在这里添加),你可能会做类似下面的事情
t:([]k: 1 2 3 4 5; v:`A`B`A`C`C)
select from t where v in (exec v from (select count i by v from t) where x>1)
ungroup select from (`v xgroup t) where (count each k)>1