1张表中的多封电子邮件

时间:2015-09-13 00:35:38

标签: sql-server-2008 sendmail

我知道如何生成包含表中所有数据的电子邮件,但是如何在一个存储过程中从一个表生成多个电子邮件?我是否需要多次调用我每次更改select语句的where子句,还是更有效的实现方式?这是一个包含垃圾数据的表,但它将获得我需要完成的任务。我需要在电子邮件正文中发送一封电子邮件,其中包含每个城市的数据。我知道如何发送电子邮件和语法,所以这不是问题。如何为每个城市发送1封电子邮件

Create Table #Data
(
  name varchar(100)
  ,zip int
  ,phone int
  ,city varchar(5)
)
Insert Into #Data Values
('A A', 1, 123, 'AAA'),
('B B', 12, 333, 'BBB'),
('C C', 32, 444, 'BBB'),
('D D', 66, 999, 'BBB'),
('E E', 99, 000, 'BBB'),
('F F', 323, 918, 'AAA'),
('G G', 568, 1412, 'AAA'),
('H H', 911, 1913, 'ERI'),
('I I', 010, 981212, 'EZS'),
('J J', 3, 812, 'FEC')

DROP TABLE #Data

显然,这会产生一个独特的城市列表

  

城市
  AAA
  BBB
  ERI
  EZS
  FEC

如何针对上面列出的每个城市生成单个电子邮件(所有电子邮件都发送到具有相同地址的同一电子邮件地址)?

编辑 - @Greg,如果我关注你,这种语法会不会像你向我解释的那样?

Declare @DistinctCityCount INT
SET @DistinctCityCount = 5

WHILE (@DistinctCityCount <= 5)
Begin
    --Here would generate an email for the 1st distinct city data
End

1 个答案:

答案 0 :(得分:0)

你走了:

WHILE (@DistinctCityCount <= 5)
Begin
   --Here would generate an email for the 1st distinct city data
   SET @DistinctCityCount = @DistinctCityCount -1
End