首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jet/ACE SQL,iif语句,2个相同列的假值

Jet/ACE SQL,iif语句,2个相同列的假值
EN

Stack Overflow用户
提问于 2018-10-31 14:48:23
回答 2查看 101关注 0票数 2

我在excel中的sql查询中有以下iif语句。

代码语言:javascript
运行
复制
iif(master.[Canada] = '0' or master.[Canada] = ' ' or master.[Canada] IS NULL,master.[USA], master.[Canada]) as Stackoverflow

但是我想添加一些类似iff([Stackoverflow] is not null, [Stackoverflow], "n/a") as Stackoverflow的东西,但是不能有重复的别名‘。

有人知道如何做两个错误的条件吗?我需要让我的空白在堆栈溢出列显示为N/a。

逻辑是这样的,

代码语言:javascript
运行
复制
+--------+--------+---------------+
| Canada |  USA   | Stackoverflow |
+--------+--------+---------------+
|  12345 |  35262 |         12345 |
|  15678 |  52367 |         15678 |
|        |  97536 |         97536 |
|  17893 |  35252 |         17893 |
|      0 | 120321 |        120321 |
+--------+--------+---------------+

但是,如果堆栈溢出为空,我想将n/a放在那里。

试着做以下事情:

iff(master.[Canada] <> ' ', iif(master.[Canada] = '0' or master.[Canada] = ' ' or master.[Canada] IS NULL,master.[USA], master.[Canada]), "n/a") as best_id

但不能让它起作用。undefined funcation iif

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-31 16:04:19

当使用嵌套IIF()时,必须将结束括号的数量与打开的括号相等。下面缩进每个IIF()的表达式、真理部分、假部分以作为重点:

代码语言:javascript
运行
复制
IIF(master.[Canada] <> '0' AND TRIM(master.[Canada]) <> '' AND master.[Canada] IS NOT NULL, 
    master.[Canada], 
    IIF(master.[USA] <> '0' AND TRIM(master.[USA]) <> '' AND master.[USA] IS NOT NULL, 
        master.[USA], 
        'n/a'
       )
   ) as Stackoverflow
票数 1
EN

Stack Overflow用户

发布于 2018-10-31 15:14:17

尝尝这个

代码语言:javascript
运行
复制
iif([Stackoverflow] is not null, iif(Nz(master.[Canada],'0') = '0' or master.[Canada] = ' ',master.[USA], master.[Canada]) , "n/a") as Stackoverflow1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53086123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档