我正在尝试使用以下逻辑在我的Db表中获取字段。
表有3个字段即..
ID
REGION
LOC_ID
ID = 123
REGION = Texas_1(可以是Texas_2或Texas_3)
LOC_ID = 101
我有一个输入文件,它给了我ID,我需要硬编码" REGION"值。
步骤1:检查ID是否存在。
步骤2:如果存在,则单独检查" REGION"的值是否为存在。(即检查Texas_1,如果存在,则提取LOC_ID,否则检查Texas_2 ..)
第3步:提取LOC_ID
我尝试使用数据库连接执行步骤1.但是,我无法检查" REGION"并且无法实施" if-else"访问数据库表所需的条件。我试过了#34;
请帮忙
答案 0 :(得分:0)
听起来像是一个基本的SQL问题,而不是Pentaho问题。仍然:
select
loc_id,
region
from mySchema.myDBtable
where id = 123
and region in ('Texas_1','Texas_2','Texas_3')
这将返回具有指定ID且位于3个Texas区域的所有行的region和loc_id。您可以在select之后立即删除region以返回loc_id。
显然,您应该用模式和表名替换mySchema.myDBtable
。
SQL查询的通用结构是
SELECT
ITEM0 [, Item1, Item2, Item3, sum(Item3) -- optional extras + aggregate]
FROM SCHEMA.TABLE
WHERE ROWCONDITION [ and ROWCONDITION2 and ROWCONDITION3]
--GROUP BY [GROUPCOLUMN] (Commented, only use for aggregates)
ORDER BY ORDERCOLUMN