sql-server - 按条件获取的 Sql 查询
问题描述
大家好。面对一个问题,我处于昏迷状态,请帮助。你需要根据条件写一个sql查询: where code = 2 and num = 2 然后改变值,如果code = 3 则取值code = 1的记录
, a as (
select numberfn, street
from tbl
where code = 2
and nume = 2)
, b as (
select N from tbl where code = '3'
)
, actual as (
select b.value, a.N
from b
join a
on b.N = a.N
where b.code = '1'
union all
select st.value, st.N
from rreg st
join tbl b
on st.N = b.N
)
我也尝试使用 case 来简化它,但第二个条件让我陷入了死胡同。
, actual as (
select N
, case when (code= 2 and num= 2)
then value
else .... (condition: select an entry for N where code = 1)
end value
from tbl
)
解决方案
您这里有两个要求,一个是更新,另一个是选择一个值。
它们分别是:
UPDATE table
SET value = ??
WHERE code = 2 AND num = 2
和
SELECT * FROM table
WHERE code = 3 AND value = 1
(其中 ?? = 要将列值更改为的值。)
如果您希望两者都在一个函数中,则可以将它们移动到存储过程中。
推荐阅读
- javascript - “TypeError:无法读取未定义的属性'map'”在reactjs应用程序中
- pandas - 为什么 pandas 不能正确打印带有长 MultiIndex 级别名称的 DataFrame?
- r - 当 R 中逻辑列中的值为 TRUE 时增加计数器
- javascript - 如何测试从父组件传递的子组件中的回调单击?
- python - 如何在另一个函数中调用一个函数?
- python-3.x - 如何计算for循环的输出之和
- cluster-analysis - 如何从具有层次聚类的样本中获取聚类?
- javascript - 更改动态添加的选择选项
- wpf - WPF XBAP 迁移选项
- mysql - 在添加数据 SQL 之前检查数据是否在数据库中