は、我々は左 テーブル内の行ごとに結果に少なくとも1つの行を取得KDB +/Q.kdbで効率的な左結合を実行するにはどうすればよいですか?
- に参加残しました。
- 複数の一致が右の表に存在する場合、私は それらのそれぞれの行を取得するだけでなく、最初のマッチのための
テストデータ
x:([];a:1 1 2 3; b:3 4 5 6)
y:([]; a:1 2 2 4; c:7 8 9 10)
最高バージョン:
これは、すべての一致を提供する内部結合に最初の一致のみを提供し、重複を削除する左結合を追加します。
distinct ej[`a; x; y] , x lj `a xkey y
誰もが速くおよび/またはより良い何らかの 他の方法であるものと私を供給することができますか?私は実際には、例えば、別名の使用を避けたいと思います。 http://www.timestored.com/kdb-guides/qsql-inner-left-joins
我々はすべてのrow..based @Connorsソリューションの
ニースソリューションコナーをしたいので:
うわー、ありがとう! Connor、まだkを読んでいません。 **あなたがしたことを説明できますか?** もう一度ありがとう! – JSLover
これはq実装です。 'q)nungroup:{$ [count x:0!//[x]; x]} ' –
@Connor Gervin:あなたの解決策は、例えば次のように間違った結果をもたらします。 'x:([] a:1 1 2 3 4; b:3 4 5 6 100)' –