2014-09-01 54 views
2

我想查询KDB中的多个表格。例如。如何写继KDB SQL查询(我不擅长SQL查询等等格式可能是错误的):查询KDB中的多个表格

select from table1,table2 where table1.sym=table2.sym and table1.price>table2.price 

我知道这样做,为前的一些方法。连接。但是,KDB中是否有任何与SQL相同的功能,它只是在表上使用点符号来实现。

同样在SQL中,我们可以扩展上面的查询表和过滤器的“n”个号码。我们能否在KDB中做到这一点,而不会做出复杂的表达?

回答

1

简短的回答是不,我害怕。

你只查询1可以在一个时间表。你必须先做连接。我不太了解SQL,但是我确信SQL引擎正在进行一个连接操作,以便能够执行此操作(?),因此如果在q中有通过函数执行此操作的方法,它将会加入。

如果你想提取的列向量可以只索引像这样的表(避免内部功能点表示):

table[`sym] 

(会得到符号列向量,假设表未键控) (注意,当在一个展开的桌子上进行此操作时,请小心!)

例如,您可以在where子句中使用in查询。或者如果你的桌子长度完全相同,你可以使用它创建一个新的临时临时桌子(但这仍然是一种联接!)

这就像你将不使用通常的,ljuj

+0

使用连接我能做到这一点。只是想确认是否有像SQL这样的简单方法。通过查看你的答案,似乎加入是唯一的方法。 – Rahul 2014-09-01 09:05:42