Shane A. Stillwell
Concatenate data from a query into a single row (Transpose)

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. The Times They Are A-Changin'

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.