我从表中检索日期: my_date:从表中选择最大日期
现在我想以这种方式使用my_date: 从some_other_table中选择日期(my_date; now) 但my_date有类型表 - 我如何提取日期作为在上一个查询中使用的值?
答案 0 :(得分:5)
exec
将列提取为向量。对于您的示例,您可以将max
聚合器带出来,使其成为一个与within
一起使用的原子,如下所示:
select from some_other_table where date within(max exec date from table;now)
同样,如果在内存中你可以使用像字典一样的表
max table`date
答案 1 :(得分:2)
你应该使用' exec'。 ' EXEC'以单个值,列表,字典等各种形式返回数据,具体取决于它的使用方式。
q) my_date:exec max date from table
这会将最大日期作为值返回。
但是在电话之下:
q) exec date from table
这将重新生成一个列表,该列表将包含表格中的所有日期值。
答案 2 :(得分:0)
两个程序: 1.如果要查询简单表,直接索引应该最快
从tb2中选择日期(最大tb1`date; .z.D)以内的日期
select from tb2 where date within (max exec from select date from tb1;.z.D)