2 回答
TA贡献1798条经验 获得超3个赞
您可以连接报告源中的值。
SQL 示例:
WITH
la_service_provider_service
AS
(
SELECT tbl.* FROM (VALUES
( 1, '1@gmail.com')
, ( 1, '2@gmail.com')
, ( 1, '3@gmail.com')
, ( 2, '4@gmail.com')
, ( 2, '5@gmail.com')
, ( 2, '6@gmail.com')
, ( 2, '7@gmail.com')
) tbl ([LA_SERVICE_PROVIDER_ID], [PROVIDER_EMAIL])
)
SELECT
[lasps].[LA_SERVICE_PROVIDER_ID]
, [lasps].[PROVIDER_EMAIL]
, [ALL_PROVIDER_EMAILS] =
STUFF( (SELECT '; '+ [PROVIDER_EMAIL]
FROM [la_service_provider_service] AS [lasps2]
WHERE [lasps2].[LA_SERVICE_PROVIDER_ID] = [lasps].[LA_SERVICE_PROVIDER_ID]
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(2000)')
,1,2,'')
FROM
[la_service_provider_service] AS [lasps];
结果:
TA贡献1862条经验 获得超6个赞
根据您拥有的电子邮件地址数量,您可能会达到限制。
但是,假设您的数据集非常小,您可以这样做......
创建一个新参数(例如pEmail
)并使其成为多值。稍后我们将隐藏此参数...
接下来,将参数的可用值和默认值添加到主数据集,并使用该SUPP_EMAIL
字段作为值。
在您的 URL 表达式中使用以下内容
="javascript:void(window.open('mailto:" + JOIN(Parameters!pEmail.Value, ";") + "'))"
一旦它起作用,您可以将参数设置为隐藏。
正如您所说,我已将
;
其用作 Outlook 的分隔符,请注意,Outlook 在这方面几乎是唯一的,并且大多数邮件客户端使用逗号而不是分号。
话虽如此,这在 SQL 中会更容易完成,并构建一个单行结果集,其中包含可供在报告中使用的 URL。
添加回答
举报