Jet/ACE SQL, iif 语句,同一列有 2 个假值
Jet/ACE SQL, iif statement, 2 false values same column
我在 excel.
的 sql 查询中有以下 iif
语句
iif(master.[Canada] = '0' or master.[Canada] = ' ' or master.[Canada] IS NULL,master.[USA], master.[Canada]) as Whosebug
但我想添加类似 iff([Whosebug] is not null, [Whosebug], "n/a") as Whosebug
但不能有重复的别名'。
有谁知道两个假条件怎么做?我需要让 Whosebug 列中的空白显示为 N/a.
逻辑是这样的,
+--------+--------+---------------+
| Canada | USA | Whosebug |
+--------+--------+---------------+
| 12345 | 35262 | 12345 |
| 15678 | 52367 | 15678 |
| | 97536 | 97536 |
| 17893 | 35252 | 17893 |
| 0 | 120321 | 120321 |
+--------+--------+---------------+
但是如果 Whosebug 为空怎么办,我想把 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
试试这个
iif([Whosebug] is not null, iif(Nz(master.[Canada],'0') = '0' or master.[Canada] = ' ',master.[USA], master.[Canada]) , "n/a") as Whosebug1
使用嵌套 IIF()
时,必须使右括号的数量与左括号的数量相等。下面缩进了每个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 Whosebug
我在 excel.
的 sql 查询中有以下iif
语句
iif(master.[Canada] = '0' or master.[Canada] = ' ' or master.[Canada] IS NULL,master.[USA], master.[Canada]) as Whosebug
但我想添加类似 iff([Whosebug] is not null, [Whosebug], "n/a") as Whosebug
但不能有重复的别名'。
有谁知道两个假条件怎么做?我需要让 Whosebug 列中的空白显示为 N/a.
逻辑是这样的,
+--------+--------+---------------+
| Canada | USA | Whosebug |
+--------+--------+---------------+
| 12345 | 35262 | 12345 |
| 15678 | 52367 | 15678 |
| | 97536 | 97536 |
| 17893 | 35252 | 17893 |
| 0 | 120321 | 120321 |
+--------+--------+---------------+
但是如果 Whosebug 为空怎么办,我想把 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
试试这个
iif([Whosebug] is not null, iif(Nz(master.[Canada],'0') = '0' or master.[Canada] = ' ',master.[USA], master.[Canada]) , "n/a") as Whosebug1
使用嵌套 IIF()
时,必须使右括号的数量与左括号的数量相等。下面缩进了每个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 Whosebug