[英]Jet/ACE SQL, iif statement, 2 false values same column
I have the following iif
statement in my sql query within excel.我在 excel 中的 sql 查询中有以下
iif
语句。
iif(master.[Canada] = '0' or master.[Canada] = ' ' or master.[Canada] IS NULL,master.[USA], master.[Canada]) as Stackoverflow
but I want to add something like iff([Stackoverflow] is not null, [Stackoverflow], "n/a") as Stackoverflow
but cannot have duplicate alias'.但我想添加类似
iff([Stackoverflow] is not null, [Stackoverflow], "n/a") as Stackoverflow
但不能有重复的别名'。
Does anyone know how to do two false conditions?有谁知道如何做两个假条件? I need to have my blanks in Stackoverflow column show as N/a.
我需要将 Stackoverflow 列中的空白显示为 N/a。
the logic is like this,逻辑是这样的
+--------+--------+---------------+
| Canada | USA | Stackoverflow |
+--------+--------+---------------+
| 12345 | 35262 | 12345 |
| 15678 | 52367 | 15678 |
| | 97536 | 97536 |
| 17893 | 35252 | 17893 |
| 0 | 120321 | 120321 |
+--------+--------+---------------+
But what if stackoverflow is null, I want to put n/a's there但是如果 stackoverflow 为空怎么办,我想把 n/a 放在那里
Trying something like:尝试类似:
iff(master.[Canada] <> ' ', iif(master.[Canada] = '0' or master.[Canada] = ' ' or master.[Canada] IS NULL,master.[USA], master.[Canada]), "n/a") as best_id
But cannot get it to work.但无法让它工作。
undefined funcation iif
When using nested IIF()
, you must equate the number of closing parenetheses with open parenetheses.使用嵌套的
IIF()
,您必须将右括号的数量与开放括号的数量相等。 Below indents the expression , truth part , false part of each IIF()
for emphasis:下面缩进每个
IIF()
的表达式、真值部分、假值部分以强调:
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
尝试这个
iif([Stackoverflow] is not null, iif(Nz(master.[Canada],'0') = '0' or master.[Canada] = ' ',master.[USA], master.[Canada]) , "n/a") as Stackoverflow1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.