2017-06-23 2 views
0

Ich habe ein Tabellenumwandlungsproblem zu lösen, und ich suche nach kurzen Kürzungen in Redshift.Redshift: Abkürzung, um Spaltenwerte in eine Tabelle zu transformieren

Ich habe eine Tabelle, die eine eindeutige Identität, eine property_name enthält, und eine property_value als Spalten:

{{uid=1, property_name=A, property_value =AA}, {uid=1, property_name=B, property_value=BB}} 

Ich brauche diese in eine Tabelle zu verwandeln, wo die unique_id und property_names die Spalten und füllen Sie es mit die zugehörigen property_values.

{{uid=1, A=AA, B=BB}} 

Gibt es jemand eine Rotverschiebung Verknüpfungen bewusst ist, dass dies so einfach wie möglich machen würde: In dem obigen Beispiel der Tabelle würde so transformiert werden?

Danke.

+0

Sind alle Spalten in derselben Zeile identisch? Ist der Wert für eigenschaftsname für alle Zeilen in einer bestimmten Spalte gleich? Einige weitere Beispieldaten wären nützlich, es ist schwierig, eine Lösung aus einer einzelnen Zeile zu extrapolieren. – Nathan

+0

ist 'property_name' Liste im Voraus bekannt und endlich? Wenn ja, dann können Sie es tun, es sei denn, Sie können nichts in Redshift tun, weil Sie kein Schema basierend auf Daten ohne dynamisches sql erzeugen können (was in Redshift nicht unterstützt wird) – AlexYes

Antwort

0

nicht sicher, ob ich Ihre Frage richtig verstanden hat, aber unter Abfrage sieht aus wie eine Lösung für mich

select uid, property_name + ' = ' + property_value from Your_Table group by uid, property_name , property_value 

Wenn ich eine schlechte Annahme gemacht habe bitte Kommentar und ich werde meine Antwort neu auszurichten.

+0

Hallo Rahul, danke für die Antwort. Es ist nicht die Antwort, die ich brauche, obwohl es ein guter Versuch ist. Ich muss eine Tabelle erstellen, in der die Spalten der Tabelle die Werte von property_name sind, und sie dann mit den zugehörigen property_values ​​auffüllen. Im obigen Beispiel wird davon ausgegangen, dass mehr UIDs und mehr als ein eindeutiger property_name pro UID vorhanden sind. –

Verwandte Themen