CREATE TABLE Clients (ClientID INT, ClientName VARCHAR(100))
INSERT INTO Clients SELECT 1, 'Client 1'
INSERT INTO Clients SELECT 2, 'Client 2'
INSERT INTO Clients SELECT 3, 'Client 3'
GO
CREATE TABLE Statements (ClientID INT, Amount DECIMAL(18,2))
INSERT INTO Statements SELECT 1, 100
INSERT INTO Statements SELECT 2, 200
INSERT INTO Statements SELECT 3, 300
GO
DECLARE @ClientID INT, @ClientName VARCHAR(100)
DECLARE ClientCursor CURSOR
FOR SELECT * FROM Clients
OPEN ClientCursor
FETCH NEXT FROM ClientCursor INTO @ClientID, @ClientName
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @sql VARCHAR(200)
SELECT @sql = 'SELECT * FROM YourTestDatabase.dbo.Statements WHERE ClientID =' + CONVERT(VARCHAR(10), @ClientID)
DECLARE @sub VARCHAR(100)
SELECT @sub = 'Statement for ' + @ClientName
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'YourProfileName',
@subject = @sub,
@recipients = 'YourEmailAddress',
@query = @sql
FETCH NEXT FROM ClientCursor INTO @ClientID, @ClientName
END
CLOSE ClientCursor
DEALLOCATE ClientCursor
DROP TABLE Clients
GO
DROP TABLE Statements
GO