A far better way, IMHO, is to write a good SELECT in a stored procedure. 😉
What's the old saying? "Just because you can do it in Python, doesn't mean you should". 😀
--Jeff Moden
RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row. First step towards the paradigm shift of writing Set Based code: ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.
Change is inevitable... Change for the better is not.