我想构建一个动态SQL查询,可以在其中使用来自另一个表的数据作为条件。假设我有两个表:一个表包含财务数据,另一个表包含条件。他们看起来像这样:
表sales
c006 mesocomp c048 c020 c021
----- ---------- ------- ----- ----
120 01TA MICROSOFT 2 239
和一个包含以下数据的condition
表:
dimension operator wert_db
--------- -------- -------
sales.c006 < 700
sales.c048 not like 'MIC%'
sales.c021 in (203,206)
我要从条件表中列出的条件中选择销售的所有数据。所以我有一个SQL查询,如下所示:
SELECT *
FROM sales
WHERE sales.c006 < 700
AND sales.c048 NOT LIKE 'MIC%'
AND sales.c021 IN (203, 206)
答案 0 :(得分:2)
由于您尚未发布解决方案或自己进行研究的尝试,因此,我将为您指明入门的方向。
您的问题已经提到使用动态SQL,因此我假设您至少知道那是什么。您将填充一个以private $fetched
开头的字符串变量。
您可以使用STUFF...FOR XML PATH技术将'SELECT * FROM Sales '
行汇编成WHERE子句。
对链接示例的一个更改是,您需要将conditions
,dimension
和operator
连接到最里面的SELECT的一个人造列中。另外,不要用逗号分隔,而要用wert_db
分隔。并更改STUFF函数的参数以取' AND '
的长度而不是逗号的长度。
答案 1 :(得分:0)
Method threw 'java.lang.ArrayIndexOutOfBoundsException' exception.