【发布时间】:2013-12-24 06:30:09
【问题描述】:
我有一个如下的存储过程。现在我想修改它,使它以逗号分隔列表的形式返回值。
CREATE PROCEDURE [dbo].[CUST_Notification_GetCompaniesFromEmails]
@EmailValue AS NTEXT
AS
SELECT DISTINCT
ISNULL(CompanyAddressesContacts.FirstName, '') + ' ' +
ISNULL(CompanyAddressesContacts.LastName, '') AS ContactName
,ISNULL(dbo.Companies.CompanyName,'') AS CompanyName,
CASE
WHEN CompanyName = 'Meraas Development' THEN '1'
WHEN CompanyName = 'Samsung C&T' THEN '2'
ELSE '3'
END AS id
FROM
dbo.CompanyAddressesContacts
INNER JOIN
dbo.Companies ON dbo.CompanyAddressesContacts.CompanyId = Companies.Id
WHERE
dbo.CompanyAddressesContacts.Email IN
(SELECT [value]
FROM dbo.SplitWords(@EmailValue,';'))
上面的代码返回值与普通的选择语句一样。现在我想对代码进行修改,使其以逗号分隔列表的形式返回值。
谢谢!
【问题讨论】:
-
此过程是否返回超过 1 行?
DISTINCT让我怀疑。
标签: sql sql-server sql-server-2008