0
我正在创建一份报告,以便每天发送。在其中一个栏中,我有与销售订单关联的所有物料编号的字符串(因此一个销售订单可能包含多个物料编号)。商品编号字符串由','分隔。为了能够做到这一点,我使用了Select语句,其中订单号相同,用于STUFF中的XML PATH('')。TSQL通过电子邮件消息在单元格中返回
在生成了我的数据的临时表后,我正在发送数据的电子邮件。我在@mailmsg中使用HTML格式设置表并发送它。我的问题是,当电子邮件发送列的所有项目编号都在同一行,我需要他们软返回到一个新行(但同一单元格)。
我试图在我的STUFF函数中使用CHAR(10)和CHAR(13)以否为准。
有什么建议吗?下面是我的代码为我的东西进入我的临时表:
UPDATE @SOTable
Set PODetails = STUFF((
Select ', PONumber: ' + CAST(PONum AS VARCHAR),
', POQty: ' + CAST(POQty AS VARCHAR)
From @POTable
Where SONo = PONo
FOR XML PATH('')
),1, 1, '')
那么对于我的邮件后,我填写的表头的数据做到这一点:
CAST ((
select
(convert(varchar(8), SO.SONum)) as [TD align=center], '',
(CONVERT(varchar(8), SO.SOItmNo)) as [TD align=center], '',
td = (ltrim(rtrim(SO.SODesc))), '',
(convert(varchar(8), SO.SONSN)) as [TD align=center], '',
CONVERT(varchar(8), SO.SOSRNo)as [TD align=center], '',
convert(varchar(3), SO.SOSRQty)as [TD align=center], '',
convert(varchar(3), SO.SOUOM)as [TD align=center], '',
CAST(convert(varchar, SO.SODate, 101) AS VARCHAR) as [TD align=center], '',
td = SO.PODetails
from @SOTable SO
order by SO.SODate
for XML RAW('tr'), ELEMENTS
) as nvarchar(max))
如果电子邮件的内容,如果HTML,你需要一个''
标签,而不是'CHAR(10)+ CHAR(13)'。 –
我试过把'
'放在东西里,它没有工作 –