【发布时间】:2020-04-12 15:23:25
【问题描述】:
我们为条件/过滤器维护了单独的表格。根据条件,过滤器将应用于基表。
这是用于参考目的的示例输入条件数据
+-----------+-------------------+----------+------------+--------------+---------------+----------------+
val_range |val_range_operator | val_From | val_till | val_except | except_from | except_till |
+-----------+-------------------+----------+------------+---------------+--------------+----------------+
| | | | | | |
100 | = | | | | | |
| | | | | | |
| between | 200 | 300 | | | |
| | | | | | |
| between | 410 | 620 | 450,600,610 | | |
| | | | | | |
| between | 800 | 999 | 810,820,850 | 890 | 930 |
| | | | | | |
| between | 1200 | 1500 | | 1300 | 1399 |
+-----------+-------------------+----------+------------+---------------+--------------+----------------+
根据这个输入条件,过滤器导出如下。
Select col*
from transaction_tbl
where
val_range = 100
OR val_range between 200 AND 300
OR val_range between 410 AND 620 AND val_range not in (450,600,610)
OR val_range between 800 AND 999 AND val_range not in (810,820,850) AND NOT BETWEEN 890 and 930
OR val_range between 1200 AND 1500 AND val_range NOT BETWEEN 1300 AND 1399
请帮我实现过滤查询
【问题讨论】:
-
您能否以更易读的格式提供示例输入数据?
-
现在它已被编辑并具有可读格式。你能检查一下吗
标签: sql apache-spark hive apache-spark-sql hiveql