我有两种类型,TypeA
和TypeB
。
TypeA
有两个系列 -Series1
和Series2
TypeB
有一个系列 -Series1
以下是我设法提出的查询:
SELECT
*
FROM
TypesTable
WHERE
Series1 = 'A3bBa#$#0sB2'
AND
Series2 = IIF(Type != 'TypeB', 'vH2f##gYtL&', NULL);
我对Series2 = IIF(...)
部分有问题
我怎样才能告诉我的查询
如果Type = TypeA
,则Series2
等于用户给定Series2
值
如果Type = TypeB
,则Series2
为空
我很难接受IIF
,因为Type == 'TypeB'
Series2
是否应该Series2 IS NULL
而不是Series2 = NULL
在 WHERE 子句中扩展条件检查。
SELECT
*
FROM
TypesTable
WHERE
Series1 = 'A3bBa#$#0sB2'
AND
((Type = 'TypeA' AND Series2 = 'vH2f##gYtL&') OR (Type = 'TypeB' AND Series2 IS NULL))