gpt4 book ai didi

java - 从表中选择“所有字段”中的“where”字段

转载 作者:行者123 更新时间:2023-12-01 15:01:15 25 4
gpt4 key购买 nike

我必须从表中的所有行中选择值,如下所示:

select distinct SCHM_CODE, 
sum(DEP_AMT) as AMOUNT
from DLY_DEP_VIEW
where Schm_code in (select SCHM_CODE
from DLY_DEP_VIEW )
group by schm_code

我将从用户输入中获取输入,我不需要括号中的 select 语句,我需要为其中的所有内容返回一个值,例如:

select distinct SCHM_CODE, 
sum(DEP_AMT) as AMOUNT
from DLY_DEP_VIEW
where Schm_code in (ALL_SCHM_CODES)
group by schm_code

这是给我无效的标识符:(编辑)

select distinct SCHM_CODE, 
sum(DEP_AMT) as AMOUNT
from DLY_DEP_VIEW
where Schm_code in (select regexp_substr('" + c + "', '[^,]+',1,level) p
from dual t
connect by level <= regexp_count('" + c + "', ',') + 1
)
group by schm_code;

因为括号中的值在我的应用程序中不断变化。实现这一目标的最佳方法是什么?查询位于 Java 代码内。

最佳答案

你可以尝试这样的事情:

select distinct SCHM_CODE, 
sum(DEP_AMT) as AMOUNT
from DLY_DEP_VIEW
where Schm_code in (select regexp_substr(:your_string, '[^,]+',1,level) p
from dual t
connect by level <= regexp_count(:your_string, ',') + 1
)
group by schm_code

:your_string 是您从用户输入获得的字符串,可以包含一个或多个值(逗号分隔)

Here is a sqlfiddle demo

顺便说一句,使用带有绑定(bind)变量的准备好的语句,不要只是连接输入字符串。
了解更多 here

关于java - 从表中选择“所有字段”中的“where”字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13607176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com