>我从表中检索日期: my_date:从表中选择最大日期
现在我想这样使用my_date: 从some_other_table中选择日期在(my_date;现在)但是my_date有类型表 - 我如何将日期提取为要在上次查询中使用的值?
exec
提取列作为向量。对于您的示例,您可以将max
聚合器取出,使其成为一个可以与within
一起工作的原子,如下所示:
select from some_other_table where date within(max exec date from table;now)
同样,如果在内存中,您可以使用像字典一样的表
max table`date
你应该使用'exec'。"exec"以各种形式返回数据,如单值,列表,字典等,具体取决于其使用方式。
q) my_date:exec max date from table
这将返回最大日期作为值。
但下面的电话:
q) exec date from table
这将重新显示一个列表,该列表将包含表中的所有日期值。
两个 Scnario:1. 如果您正在查询一个简单的表,直接索引应该是最快的
从 TB2 中选择日期在内(最大 TB1'日期;。z.D)
- 如果要查询张开/分区表,则无法使用索引,因此需要执行间接执行:
select from tb2 where date within (max exec from select date from tb1;.z.D)