jose isaias cabrera wrote: > WITH EmailData (name,contact,dstamp) AS > ( > SELECT > 'last, first', > 'first.last at xerox.com', > '2015-08-25 11:11:11' > ) > UPDATE LSOpenProjects SET XtraB = EmailData.dstamp, pmuk = EmailData.contact > WHERE pmuk = EmailData.name; > > But, it's not working.
A CTE behaves like a table or a view. So if you had created a view named "EmailData", your UPDATE statement would not work either because "EmailData" is never mentioned in the UPDATE or a FROM clause. Regardless of whether you're using WITH or not, you need to use subqueries to get at the values: WITH ... UPDATE LSOpenProjects SET XtraB = (SELECT dstamp FROM EmailData), pmuk = (SELECT contact FROM EmailData) WHERE pmuk = (SELECT name FROM EmailData); Regards, Clemens