sql >> Base de Datos >  >> RDS >> Mysql

SELECCIONE valores distintos para varias filas del mismo ID

Puede utilizar esta sencilla solución:

SELECT DISTINCT
    a.id,
    b.value AS SIGN_UP,
    c.value AS FIRST_NAME,
    d.value AS STREET
FROM tbl a
LEFT JOIN tbl b ON a.id = b.id AND b.field_name = 'sign_up'
LEFT JOIN tbl c ON a.id = c.id AND c.field_name = 'first_name'
LEFT JOIN tbl d ON a.id = d.id AND d.field_name = 'street'

Solo para estar seguro, hice las uniones LEFT JOIN es porque no se si un id puede tener faltante campos, en cuyo caso aparecerán como NULL en nuestras columnas derivadas.

Demostración de SQL-Fiddle