1

有存储过程:

declare @fistName nvarchar(50) , @lastName nvarchar(50) , @age int , @text nvarchar(max)

SELECT TOP 10  @fistName = fistName , @lastName = lastName , @age = age
FROM users                                                                    

if @age = 18
SELECT @text = 'First Name : ' + @age + CHAR(13) + 'Last Name : ' + @lastName 

@text我在邮件中发送的值。当我从我的表中选择前 1 个值并且 age = 18 程序向我发送邮件时,但是当我选择前 10 个值并且有许多 18 岁的名字和姓氏时,它不会给我发送邮件,有什么建议吗?

4

1 回答 1

1

试试这个查询 -

DECLARE @text NVARCHAR(MAX)

SELECT @text = STUFF((
    SELECT TOP 10
        CHAR(13) + 'First Name : ' + fistName + 
        CHAR(13) + 'Last Name : ' + lastName
    FROM dbo.users
    WHERE age = 18
    FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')

SELECT @text
于 2013-08-30T10:41:20.480 回答