我有一个查询,我将在其中动态输入值。
例如:如果我在文本框中输入两个值27/1, 151/3
。
查询变为
select area_guntha
from xxcus.xxacl_pn_farming_mst
where SURVEY_AREA_7_12 IN ('27/1', '151/3')
以173.3
和16.7
屏幕截图位于
之下我想添加这两个值并将其显示在另一列
中更新
我的查询无法正确获取数据,
查询应该是这样的。
SELECT SUM (area_guntha) area_guntha
FROM xxcus.xxacl_pn_farming_mst
WHERE survey_area_7_12 IN ('27/1', '151/3', '87/4')
但是我无法在每个值之后添加' '
它就像这样来了
SELECT SUM (area_guntha) area_guntha
FROM xxcus.xxacl_pn_farming_mst
WHERE survey_area_7_12 IN ('27/1, 151/3, 87/4')
这是我的代码
string strVal = txt712.Text;
OracleConnection conn = new OracleConnection(System.Configuration.ConfigurationManager.ConnectionStrings["OracleConn"].ToString());
conn.Open();
OracleCommand cmd = new OracleCommand("SELECT SUM (area_guntha)area_guntha FROM xxcus.xxacl_pn_farming_mst WHERE "+
"survey_area_7_12 IN ('" + strVal + "')", conn);
if(ddlTranType.SelectedItem.Text.ToString().Equals("--Select--"))
{
txttotalguntha.Value = "";
return;
}
OracleDataReader dr = cmd.ExecuteReader();
if(dr.HasRows)
{
dr.Read();
txttotalguntha.Value = dr["area_guntha"].ToString();
}
dr.Close();
conn.Close();
答案 0 :(得分:1)
select 1, :var from dual where 1 = :var;
给出另一列中的bind var值:
select area_guntha, replace(:bind,',',' ')
from xxcus.xxacl_pn_farming_mst
where SURVEY_AREA_7_12 IN (:bind)
或者我错过了,你只想要
select area_guntha, survey_area_7_12
from xxcus.xxacl_pn_farming_mst
where SURVEY_AREA_7_12 IN (:bind)
答案 1 :(得分:0)
我不确定我是否理解了你的问题。根据我的理解,您可以使用以下查询来获取另一列中的两个值的总和
select area_guntha, SUM(area_guntha) OVER() AS sum_area_guntha
from xxcus.xxacl_pn_farming_mst
where SURVEY_AREA_7_12 IN ('27/1', '151/3')
这将为您输出
area_guntha sum_area_guntha
173.3 190
16.7 190
希望这是您的要求