给定一个数据库表,如何使用宏和循环来改变SELECT的多个“where”值

Somnath_DasSomnath_Das 成员职位:31Maven
给定一个数据库表,我如何使用宏来改变多个“哪里”值的选择查询使用rapidminer?我已经创建了一个示例过程,但WHERE子句有一个单一的条件..我要检查多种情况。

例如,如果我想检查像ACCOUNT_NO & CUSTOMER_ID,我如何使用宏和循环,使子进程将运行以下语句?

从表中选择* where account_no=suppliedValue_1 and customer_id=suppliedValue_2


<?xml版本="1.0"编码="UTF-8"?> <过程version = " 9.9.000”>

> <上下文

<输入/ >

<输出/ >

<宏/ >

> < /上下文

. class="process

.

.

<过程扩展= " true " >

.

< /操作符>

.

.

.

. .

/> .

“参数”<枚举关键= >

.

< /枚举>

< /操作符>

.

> < /过程

< /操作符>

< /操作符>

> < /过程

< /操作符>

> < /过程


最佳答案

  • kaymankayman 成员职位:662独角兽
    解决方案接受
    同样的逻辑,但是使用“生成宏”而不是设置宏。然后逻辑定义分配给宏的值。

答案

  • kaymankayman 成员职位:662独角兽
    2021年5月编辑
    您可以使用设置宏操作符。在这个例子中,您定义了诸如acountnumber = 1234这样的值。

    然后在数据库查询中使用宏语法,如%{acountnumber}

    就是这样。您可以根据需要创建任意多的宏,因此您的select语句将是这样的

    Select * from Table where account_no=%{acountnumber} and customer_id=%{custid}
  • Somnath_DasSomnath_Das 成员职位:31Maven
    我想通过宏动态分配它。
  • BalazsBaranyBalazsBarany 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家职位:841独角兽
    这就跟你问声好!

    使用准备好的查询,输入参数及其类型(在您的例子中,在此语法中是%{宏})并使用?(问号)在适当的顺序。

    这样可以在许多数据库系统中获得更好的性能,并避免了SQL注入。

    问候,
    Balazs
登录注册置评。