2013-12-23 82 views
0

内部数据的多个HTML表格,我尝试发送1封电子邮件内2个不同的表。我想要一个表建立关于存储在一个数据库中的数据的数据,另一个表建立第二个数据库的信息。我可以简单地生成1封电子邮件,但我无法理解如何在同一封电子邮件中使用完全不同的查询和数据设置第二张表。如何创建1个电子邮件

这里是我目前正与什么:

USE MY DATABASE 

DECLARE 
@tableHTML NVARCHAR(MAX) 




SET @tableHTML = 
N'<H1>Lacrosse Inquiries</H1>' + 
N'<table border="1" style="text-align: middle;" width:100% height:20px style="cell"  cellspacing="0" cellpadding="5">' + 
N'<tr><th>FIRST NAME</th><th>LAST NAME</th><th>Entry Term</th></th><th>Market  Segment</th><th>State</th><th>Home Number</th><th>Cell Phone</th>'+ 
CAST ((SELECT td = INQUIRY.F_NAME  , '' 
      , td = INQUIRY.L_NAME , '' 
      , td = INQUIRY.ENTRY_TERM , '' 
      , td = INQUIRY.MARKET_SEG , '' 
      , td = EWADDRESS.STATE , '' 
      , td = EWADDRESS.HOME_PHONE , '' 
      , td = EWADDRESS.WORK_PHONE , '' 





from EWSTUDENT AS INQUIRY inner join EWMULTI1M as sport on  sport.EWSTUID=INQUIRY.EWSTUID left JOIN EWADDRESS ON EWADDRESS.EWSTUID=INQUIRY.EWSTUID LEFT  JOIN ESTUDENT ON ESTUDENT.EWSTUID=INQUIRY.EWSTUID 
where VCODETYPE = 'EACTIV1M' AND VCODE ='CLAX' AND INQUIRY.GENDER = 'F' AND STUD_TYPE  ='P' and (CONVERT(VARCHAR(8), sport.CREATE_DT, 112) = CONVERT(varchar(8), GETDATE(), 112)) 
order by INQUIRY.L_NAME 




     FOR XML PATH('tr'), TYPE 
) AS NVARCHAR(MAX)) + 
N'</table>' ; 

EXEC msdb.dbo.sp_send_dbmail 
     @profile_name= 'Jordan.Sorensen', 
     @recipients = '[email protected]', 
     @from_address = '[email protected]', 
     @body = @tableHTML, 
     @execute_query_database= 'MY DATABASE', 
     @subject ='Womens Lacrosse Inquiries', 
     @body_format= 'HTML' 

GO 

关于如何创建与数据的两个完全不同的设置了两个不同的表在同一封电子邮件有什么建议?

回答

0
  FOR XML PATH('tr'), TYPE 
) AS NVARCHAR(MAX)) + 
N'</table>'   --<-- This is where you 1st query ends add a couple of line breaks 
    + N'<br/><br/>'  -- and add you second table just like you have done before 

    + N'<table border="1" style="text-align: middle;" width:100% height:20px style="cell" cellspacing="0" cellpadding="5">' 
    + N'<tr><th>FIRST NAME</th><th>LAST NAME</th><th>Entry Term</th></th><th>Market Segment</th><th>State</th><th>Home Number</th><th>Cell Phone</th>' 
    + CAST ((/*Your Select just like you have done for 1st table*/) AS NVARCHAR(MAX)) 
    + N'</table>' 

显然HTML来自SQL查询生成的串联和值设置为可变@tableHTML中,剩下的东西是一样的参数传递到您的程序,等等等等