tsql - 嵌套代替表达式
问题描述
我有两行脚本:
IIF (name.value ='no', name1.value, name2.Value) as [name 1],
IIF (name.value ='yes', name3.value, name4.value) as [name 1.5],
这给了我一个输出,一旦在 SSRS 中我使用这个表达式组合成一个表中的一个字段:
=IIF(Fields!name_1.Value is nothing, Fields!name_1_5.Value, Fields!name_1.Value)
但是,我不想使用这个相当笨拙的表达式,而是想重写上面的 T-SQL 以将数据带到那里,而不是在 SSRS 中糊涂。有没有办法可以嵌套上面的两行脚本来给我通过 SSRS 中的表达式实现的相同输出?
感激地收到任何帮助。
非常感谢。
解决方案
使用COALESCE返回第一个非空值,如下所示:
SELECT
COALESCE(
IIF (name.value ='no', name1.value, name2.Value),
IIF (name.value ='yes', name3.value, name4.value)
) as [name 1 or 1.5]
FROM MyTable
推荐阅读
- griddb - 如何使用 matplotlib 为存储在 GridDB 容器中的推文数据绘制词云?
- docker - 在 Dockerfile 中更改 `/etc/passwd` 的权限
- python - 将 Glob 中的多个 CSV 与多索引连接起来
- javascript - HTML 和 Javascript 空表单验证不起作用
- airflow - DAG 在追赶时运行失败,但如果我清除它们 ro
- css - 带有 InputBase 的图标按钮
- python - 当日期范围在过滤器中时,如何抓取历史数据?
- laravel - 无法在 Laravel Vue Axios 中更新具有相同值的多行
- jpa - wildfly-preview-25.0.0.Final - Jakarta 'org.hibernate.ogm.jpa.HibernateOgmPersistence' 未找到
- microservices - 不共享数据库的微服务设计