2016-08-03 5 views
0

einige Daten in BigQuery in folgendem Format:Konvertieren BigQuery Daten von Schlüssel-Wert-Spalten

| id | r.key | r.value | 
+----+-------+---------+ 
| 1 | k1 |  v11 | 
| +-------+---------+ 
| | k2 |  v12 | 
| +-------+---------+ 
| | k3 |  v13 | 
+----+-------+---------+ 
| 2 | k1 |  v21 | 
| +-------+---------+ 
| | k2 |  v22 | 
| +-------+---------+ 
| | k3 |  v23 | 

wie kann ich diese Daten in etwas umwandeln wie:

| id | k1 | k2 | k3 | 
+----+-----+-----+-----+ 
| 1 | v11 | v12 | v13 | 
+----+-----+-----+-----+ 
| 2 | v21 | v22 | v23 | 

?

+0

Ist Ihre Originaldaten 6 Zeilen oder in einem anderen Format? –

+0

Es sind N Zeilen, von denen jede eine wiederholte Aufzeichnung "r" hat. Jede Zeile hat 3 Vorkommen dieses Datensatzes, einen mit 'key = k1', einen mit' k2' und einen mit 'k3'. – pstobiecki

Antwort

1

Versuchen unter

SELECT 
    id, 
    MAX(IF(r.key = 'k1', r.value, NULL)) AS k1, 
    MAX(IF(r.key = 'k2', r.value, NULL)) AS k2, 
    MAX(IF(r.key = 'k3', r.value, NULL)) AS k3  
FROM YourTable 
GROUP BY id