访问数据库表并验证字段内容

时间:2015-05-13 12:58:47

标签: pentaho

我正在尝试使用以下逻辑在我的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;

请帮忙

1 个答案:

答案 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