Ich bin neu in Hive und mein SQL-Wissen ist etwas rostig daher Posting Frage auf SO.Hive: Fehlende Spalten ausfüllen
Ich habe Daten aus einer SAP-Tabelle, in denen Werte für eine Spalte fehlen. Ich würde gerne wissen, wie ich diese Spalten füllen kann.
Beispiel:
+----------+-----------+--------+
| EBELN | BELNR | EBELP |
|----------+-----------+--------|
| 1 | 123 | 001 |
|----------+-----------+--------|
| | 123 | 002 |
|----------+-----------+--------|
| | 123 | 003 |
+----------+-----------+--------+
In obiger Tabelle sind alle drei Reihen sind miteinander verwandt, aber Wert für EBELN
Spalte ist nur in der ersten Reihe.
Wenn ich diese Tabelle mit anderen Tabelle unter Verwendung EBELN
Spalte als Join-Schlüssel verbinden, nur die erste Zeile erscheint in der Join.Ich möchte alle drei Zeilen in der Ausgabe Join bringen.
Expected output:
+----------+-----------+--------+
| EBELN | BELNR | EBELP |
|----------+-----------+--------|
| 1 | 123 | 001 |
|----------+-----------+--------|
| 1 | 123 | 002 |
|----------+-----------+--------|
| 1 | 123 | 003 |
+----------+-----------+--------+
I-Ausgang erwarten, so etwas zu sein, so dass ich diese Tabelle mit anderer Tabelle unter Verwendung EBELN
Spalt beitreten kann.
Die Tabelle, zu der ich mich verbinde, enthält keine BELNR
oder EBELP
Spalte, so dass ich diese Spalten nicht für den Beitritt verwenden kann.
Ich würde gerne wissen, ob ich self join
verwenden kann oder gibt es noch etwas, das ich hier verwenden kann.
Hinzufügen weiterer Informationen. Ich habe andere Tabelle kann es "ABCD" nennen. Diese Tabelle hat EBELN
Spalte.
+----------+-----------+--------+
| EBELN | COL12 | COL13 |
|----------+-----------+--------|
| 1 | ABC | LMN |
|----------+-----------+--------|
| 2 | DEF | OPQ |
|----------+-----------+--------|
| 3 | GHI | RST |
+----------+-----------+--------+
Ich habe versucht, diese „ABCD“ Tabelle mit „EKPF“ Tabelle EBELN
Spalt zu verbinden.
Ich brauche alle Zeilen zu bekommen, wo BELNR
Zahl gleich ist, aber da BELNR
Spalte nicht in ABCD
Tabelle ist, kann ich es nicht für die Verbindung verwenden.
Finale verbunden Ausgabe sollte so aussehen
+----------+-----------+--------+--------+--------+
| EBELN | BELNR | EBELP | COL12 | COL13 |
|----------+-----------+--------+--------+--------|
| 1 | 123 | 001 | ABC | LMN |
|----------+-----------+--------+--------+--------|
| | 123 | 002 | ABC | LMN |
|----------+-----------+--------+--------+--------|
| | 123 | 003 | ABC | LMN |
|----------+-----------+--------+--------+--------|
| 2 | | | DEF | OPQ |
|----------+-----------+--------+--------+--------|
| 3 | | | GHI | RST |
+----------+-----------+--------+--------+--------+
Wie hängen Reihen? durch BELNR Spalte? Wie sollte die EBELN-Spalte berechnet werden? – leftjoin
Sie können Self-Join oder eine andere Methode für die EBELN-Berechnung verwenden, aber Sie müssen zuerst die Regel definieren. – leftjoin
Hallo, Danke für deine wertvolle Zeit. Ich habe die Fragedetails aktualisiert, um zu reflektieren, was ich vorhabe. – Shekhar