SELECT distinct values for multiple rows of same ID

后端 未结 5 1780
甜味超标
甜味超标 2020-12-17 03:03

I have a table that looks like this:

ID | FIELD_NAME   | VALUE
23 |  sign_up     |  yes
23 |  first_name  |  Fred
23 |  street      |  Barber Lane
24 |  sign         


        
5条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-17 03:14

    You could also try pivoting with the help of grouping and conditional aggregating:

    SELECT
      ID,
      MAX(CASE FIELD_NAME WHEN 'sign_up'    THEN VALUE END) AS SIGN_UP,
      MAX(CASE FIELD_NAME WHEN 'first_name' THEN VALUE END) AS FIRST_NAME,
      MAX(CASE FIELD_NAME WHEN 'street'     THEN VALUE END) AS STREET
    FROM atable
    GROUP BY
      ID
    ;
    

提交回复
热议问题