您可以使用以下简单解决方案:
SELECt DISTINCT a.id, b.value AS SIGN_UP, c.value AS FIRST_NAME, d.value AS STREETFROM tbl aLEFT 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'
为了安全起见,我创建了join
LEFT JOIN,因为我不知道id是否可以包含 缺少的
字段,在这种情况下,它们将显示
NULL在我们的派生列中。
SQL提琴演示



