2016-03-30 8 views
1

Birkaç sütun içeren bir tablo ("ibmqt") var ve her satır için bir sütun ("teklif") belirten boolean değerleri içeren yeni bir sütun eklemek istiyorum) başka bir sütuna eşit veya daha büyüktür ("sor"). Diğer sütunlara dayalı bir sütun ekleme KDB +

ibmqt: update (pricecross:select bid>=ask from ibmqt) from ibmqt 

Ancak bu şu sonuçlanır

: "pricecross" sütununda Açıkçası

time   sym bid ask bsize asize pricecross 
---------------------------------------------------- 
00:00:59.063 IBM 43.53 43.57 10000 9000 (,`ask)!,0b 
00:01:03.070 IBM 43.54 43.59 6500 3000 (,`ask)!,0b 
00:02:31.911 IBM 43.56 43.6 500 4500 (,`ask)!,0b 
00:03:43.070 IBM 43.56 43.56 10000 2500 (,`ask)!,1b 
00:06:01.170 IBM 43.54 43.56 8500 4500 (,`ask)!,0b 
00:06:11.081 IBM 43.56 43.58 500 1500 (,`ask)!,0b 
00:08:15.126 IBM 43.55 43.57 1500 9000 (,`ask)!,0b 

Sadece 0, 0, 0 istiyoruz

Benim en başarılı girişimi şimdiye kadar bu olduğunu , 1, 0 vs.

Herhangi bir öneriniz var mı?

cevap

4

Yuvalanmış bir seçime gerek yoktur.

ibmqt:update pricecross:bid>=ask from ibmqt 

Yoksa yerde ibmqt güncelleyebilirsiniz: Bu neye ihtiyacınız yapacak

update pricecross:bid>=ask from `ibmqt 

q nedenle bid>=ask iki sütun çiftler halinde karşılaştırır ve boole listesini döndürür, bir dizi dilidir. boole liste daha sonra yeni bir sütuna pricecross atanan

1 2 3 >= 0 2 4/110b 

: Bu fikir gösterilecektir.