【发布时间】:2021-01-15 02:37:57
【问题描述】:
我正在编写一个查询以从数据库中获取客户列表。该查询包含一个 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
【问题讨论】:
-
IS NULL / IS NOT NULL?不清楚你的意思是“从 SSRS 参数传递”我在这里看不到参数 -
抱歉应该是:WHERE delivery_type = @delivery_type
-
仍然没有得到它,参数与用于电子邮件的 A 和 B 有什么关系?请清楚地说明您要做什么
-
一旦客户选择了delivery_type A,我想退回客户列表没有email,反之亦然...
标签: sql sql-server reporting-services ssrs-2008 ssrs-2012