In The Loop Screenplay
Posted : adminOn 4/2/2018Hi Guys, At the moment I want to send an email to each supplier with outstanding orders. I have got the loop setup correctly in SSIS but I have an issue with my script.

Here's the script Below. USE db SELECT * FROM ( SELECT d.email, o.identity, STUFF((SELECT ',' + stats + ' ' + parts FROM orderits WHERE orderid = o.identity AND DATEDIFF(d, CURRENT_TIMESTAMP, duedate) = 8 FOR XML PATH('), TYPE).value('.' , 'NVARCHAR(MAX)'), 1, 1, ') AS items FROM orders o INNER JOIN traders t ON o.traderid = t.id INNER JOINÂ email d ON t.id = d.traderid GROUP BY o.identitfication, d.email ) AS x WHERE x.items IS NOT NULL So at the moment I am getting seperate rows per order. So when I run the loop I Email per order. How would I concatenate orders so it could be one email per supplier, with all the order info. So my output looks like this at the moment email order items test@123.com 123 STAMP, LETTER ETC test@123.com 124 PEN Pencil test@123.com 125 RULER So ideally want a single line for the email with the order column and items columns joined so looks like the following.
JavaScript For Loop. The For Loop. The for loop is often the tool you will use when you want to create a loop. The for loop has the following syntax. In The Loop Script taken from a transcript of the screenplay and/or the Peter Capaldi movie.
Email order items test123.com 123,124 125 STAMP, LETTER ETC pen pencil ruler Any ideas? I think this USE [dbname];With CTE1AS( SELECT * FROM( SELECT d.email, o.identity AS [Order], STUFF((SELECT ',' + stats + ' ' + parts FROM orderits WHERE orderid = o.identity AND DATEDIFF(d, CURRENT_TIMESTAMP, duedate) = 8 FOR XML PATH('), TYPE).value('.' , 'NVARCHAR(MAX)'), 1, 1, ') AS items FROM orders o INNER JOIN traders t ON o.traderid = t.id INNER JOIN email d ON t.id = d.traderid GROUP BY o.identitfication, d.email) AS xWHERE x.items IS NOT NULL)SELECT email,STUFF((SELECT ',' + [order]FROM CTE1WHERE email = c.emailFOR XML PATH('),TYPE).value('.' ,'nvarchar(max)'),1,1,') AS [order],STUFF((SELECT ' ' + [items]FROM CTE1WHERE email = c.emailFOR XML PATH('),TYPE).value('.'
,'nvarchar(max)'),1,1,') AS [items]FROM (SELECT DISTINCT email FROM CTE1)c Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- https://www.facebook.com/VmBlogs. I think this USE [dbname];With CTE1AS( SELECT * FROM( SELECT d.email, o.identity AS [Order], STUFF((SELECT ',' + stats + ' ' + parts FROM orderits WHERE orderid = o.identity AND DATEDIFF(d, CURRENT_TIMESTAMP, duedate) = 8 FOR XML PATH('), TYPE).value('.' Winternals Erd Commander 2007 Iso Cd Image.iso.
, 'NVARCHAR(MAX)'), 1, 1, ') AS items FROM orders o INNER JOIN traders t ON o.traderid = t.id INNER JOIN email d ON t.id = d.traderid GROUP BY o.identitfication, d.email) AS xWHERE x.items IS NOT NULL)SELECT email,STUFF((SELECT ',' + [order]FROM CTE1WHERE email = c. Calculus 1 Pre Calculus more. emailFOR XML PATH('),TYPE).value('.' ,'nvarchar(max)'),1,1,') AS [order],STUFF((SELECT ' ' + [items]FROM CTE1WHERE email = c.emailFOR XML PATH('),TYPE).value('.' ,'nvarchar(max)'),1,1,') AS [items]FROM (SELECT DISTINCT email FROM CTE1)c Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- https://www.facebook.com/VmBlogs.