-1

I have this table, REGAL value is 1-8, every REGAL has POLICE A-E, every POLICE HAS RADA 1-40. I want to create select, group by REGAL and POLICE, and many new columns 1 - 40 (by RADA value), which have values by WHERE CONDITION (so new column 1 has values UMISTENI, where RADA = 1). Second image is the result I would like to get. How can I do that? Thanks

EDIT: This script doesnt return right value

    SELECT REGAL, POLICE, RADA, 
CASE WHEN RADA=1 THEN UMISTENI END AS "01",
CASE WHEN RADA=2 THEN UMISTENI END AS "02",
CASE WHEN RADA=3 THEN UMISTENI END AS "03",
CASE WHEN RADA=4 THEN UMISTENI END AS "04"
FROM `ciselnik_sklad_regal_police_rada`
GROUP BY REGAL, POLICE

enter image description here

enter image description here

Bill Karwin
  • 538,548
  • 86
  • 673
  • 828
adam
  • 53
  • 1
  • 7

1 Answers1

1

This is my solution:

SELECT REGAL, POLICE, RADA, 
MAX(CASE WHEN RADA=1 THEN UMISTENI END) AS "01",
MAX(CASE WHEN RADA=2 THEN UMISTENI END) AS "02",
....
FROM `table`
GROUP BY REGAL, POLICE
adam
  • 53
  • 1
  • 7