Concatenate data from a query into a single row (Transpose)
Hold on Cowboy
This blog post is pretty old. Be careful with the information you find in here. It's likely dead, dying, or wildly inaccurate.
Let’s say you have a query that returns this
cert_id --------- 100 200 300 500 600
What I want is to have it return this in a query
cert_id ---------- 100,200,300.500,600
After much searching on the topic of transpose, with some complex solutions offered, I stumbled onto the
GROUP_CONCAT
function in Mysql. https://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html
So my query looks like this /* Show Gift Cert numbers */ ( SELECT GROUP_CONCAT(cert_id) FROM ugiftcert_history uh WHERE so.entity_id = uh.order_id GROUP BY uh.order_id ) AS gc_numbers,
Onto greatness.