我想在 MS SQL Server BIDS(SSMS 和 Visual Studio)中创建一个报告。用户将输入电子邮件地址列表作为参数。所以@pEmails 将是“foo@bluh.com”、“bar@meh.org”等。这些电子邮件地址可能在也可能不在表中。
我可以简单地做:
and Table.Email in (@pEmails)
这行得通,除非我还需要返回电子邮件地址(如果找不到)。所以结果将是这样的:
|email |found in table|
|------------|--------------|
|foo@bluh.com| Y |
|bar@meh.org | N |
Run Code Online (Sandbox Code Playgroud)
我想我可以将输入的值列表作为@pEmails 参数并用它们创建一个临时表,然后我可以将其加入,但我这样做的尝试没有成功。
declare @pEmails table (EmailAddress varchar(255));
insert into @pEmails values (@ReportParameter1);
select
*
from
@pEmails
Run Code Online (Sandbox Code Playgroud)
如果只将单个值放入@ReportParameter1,则上述方法有效,但如果其中包含多个值,则无效。
我正在使用 SQL Server 2008。有关如何最好地进行的任何建议?