SQL Server 2008 自动发邮件HTML表格

本文介绍了一种使用SQL语句生成带有HTML样式的电子邮件正文的方法,特别关注于创建固定宽度、边框清晰且包含详细商品信息的表格,如品号、品名、规格等,适用于销售退货单等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DECLARE @emailBody NVARCHAR(MAX);
SET @emailBody = N'<style>table{table-layout:fixed;width:1200px;border:1px solid #000000;border-collapse:collapse;font-size:12px;empty-cells:show;}'

  • N'th,td{border:1px solid #000000;padding:3px;}</style>'
  • N'<H2>销退单</H2>' --标题
  • N'<table>' + N'<thead><tr>'
  • N'<th style="width:80px;">品号</th>'
  • N'<th style="width:90px;">品名</th>'
  • N'<th style="width:350px;">规格</th>'
  • N'<th style="width:150px;">产品序列号</th>'
  • N'<th style="width:80px;">数量</th>'
  • N'<th style="width:80px;">退货原因</th>'
  • N'</tr></thead><tbody>' --表头
  • CAST(( SELECT c.ITEM_CODE AS td ,
    '' ,
    b.ITEM_DESCRIPTION AS td ,
    '' ,
    b.ITEM_SPECIFICATION AS td ,
    '' ,
    b.UDF021 AS td ,
    '' ,
    '<div style="text-align:right;">'
    • CAST(CAST(b.PRICE_QTY AS DECIMAL(20,
      4)) AS VARCHAR(20))
    • '</div>' AS td ,
      '' ,
      b.REMARK AS td ,
      ''
      from SALES_RETURN a
      left join SALES_RETURN_D b ON a.SALES_RETURN_ID = b.SALES_RETURN_ID
      left join ITEM c ON b.ITEM_ID = c.ITEM_BUSINESS_ID
      where DOC_NO = '2700-201809250001'
      FOR
      XML PATH('tr') ,
      TYPE
      ) AS NVARCHAR(MAX))
  • N'</tbody></table>';

    SELECT @emailBody = REPLACE(REPLACE(@emailBody,
    '<', '<'),
    '>', '>');
    select @emailBody

select c.ITEM_CODE,b.ITEM_DESCRIPTION,b.ITEM_SPECIFICATION,b.UDF021,b.PRICE_QTY, b.REMARK from SALES_RETURN a
left join SALES_RETURN_D b ON a.SALES_RETURN_ID = b.SALES_RETURN_ID
left join ITEM c ON b.ITEM_ID = c.ITEM_BUSINESS_ID
where DOC_NO = '2700-201809250001'

转载于:https://blog.51cto.com/13885809/2285780

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值