如何根据别名检查字段是否为空

How to check the field is empty or not based on alias

我正在编写查询以从数据库中获取客户列表。查询包含一个 where 条件来检查客户的电子邮件是否为空。

The original query:

SELECT ID
FROM MAINTABLE m 
LEFT JOIN CUSTOMER c
ON m.CUS = c.CUS
WHERE c.EMAIL <> ''

但是,就我而言。 delivery_type是一个SSRS参数,用来表示email字段是否为空 .如果值为 'A' 表示电子邮件字段为空,'B' 则不是。我试过下面的查询,但它似乎完全错误。 有人可以帮我解决这个问题吗?

SELECT ID, CASE WHEN c.EMAIL = '' then 'A' WHEN c.EMAIL <> '' THEN 'B' END 'delivery_type'
FROM MAINTABLE m 
LEFT JOIN CUSTOMER c
ON m.CUS = c.CUS
WHERE delivery_type = @delivery_type 
WHERE delivery_type = @delivery_type AND (
    (@delivery_type = 'A' AND email = '')
    OR
    (@delivery_type = 'B' AND email <> '')
)