Anda dapat menggunakan solusi sederhana ini:
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'
Untuk amannya, saya membuat gabungan LEFT JOIN
's karena saya tidak tahu apakah sebuah id dapat memiliki hilang bidang, dalam hal ini mereka akan muncul sebagai NULL
di kolom turunan kami.