【发布时间】:2020-04-21 19:29:37
【问题描述】:
如何根据下面给出的行推导出 bteq 中的过滤条件?
表 B:
COLA COLB COLC
1 CODE AAA
1 DESC BBB
1 TYPE CCC
这里有一些代码:
SELECT * FROM TABLE A WHERE CODE IN ('AAA') AND DESC IN ('BBB') AND TYPE IN ('CCC')
【问题讨论】:
-
添加更多样本数据并指定预期结果。
-
这里实际存在多少张表?
-
您似乎正在尝试比较一行中
COLB和COLC的值。如果是这种情况,那么您可以使用LIKE运算符或数组比较。COLC的数据类型是什么?您在伪查询中对IN的定义是什么? -
这似乎是一个使用表 B 生成动态 SQL 的请求,其中包含不同数量的谓词引用任意列名和可能的列值列表。虽然在 BTEQ 中可以做到这一点,但您最好使用一些过程语言(数据库中的存储过程、客户端上的 Python 脚本等)来构建查询。