View mit zwei Spalten verketten

vogste

Benutzer
Beiträge
23
Hallo zusammen,

ich sitze auf der Leitung.
Ich habe zwei Views V_BNK_WKZLE_GE (3200 Zeilen)
Spalten GERMAN und ENGLISH
und V_BNK_WKZLE_EN (3200 Zeilen)
Spalten GERMAN und ENGLISH.

In der View V_BNK_WKZLE_GE sind die Benennungen deutsch aufsteigend sortiert und die englische Übersetzung dazu.
In der View V_BNK_WKZLE_EN sind die Benennungen english aufsteigend sortiert und die deutsche Übersetzung dazu.

Benötigt wird eine View V_BNK_WKZLE_GEEN in der in der Spalte GERMAN alle deutschen Begriffe
aufsteigend sortiert sind und un der Spalte ENGLISH alle englischen Begriffe aufsteigend sortiert sind.
Unabhängig von der tatsächlich richtigen Übersetzung.

Ich dachte ich könnte das mit einem UNION lösen.
Code:
CREATE OR REPLACE FORCE VIEW "V_BNK_WKZLE_GEEN" ("GERMAN", "ENGLISH")
AS
  SELECT V_BNK_WKZLE_GE.GERMAN,
  ''
  FROM V_BNK_WKZLE_GE
UNION
  SELECT '',
  V_BNK_WKZLE_EN.ENGLISH
  FROM V_BNK_WKZLE_EN;

Problem:
Aus 3200 Zeilen werden 6400 Zeilen die ersten 3200 Zeilen beinhalten alle deutschen Begriffe aufsteigend in der englischen Spalte steht NULL und den nächsten 3200 Zeilen beinhalten alle englischen Begriffe aufsteigend und in der deutschen Spalte steht NULL.

Wo liegt mein Gedankenfehler.

Danke und Gruss
für die Hilfe.
Stephan
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Zunächst mal kann man nicht gleichzeitig nach 2 Spalten sortieren, nur nacheinander. Daher ist mir der Sinn noch nicht ganz klar denn die Übersetzungen müssen ja zueinander passen.

Du suchst vermutlich kein UNION sondern einen JOIN.
 
Hallo Uukulele,

nein ich brauche einen View oder einen Export für einen Dienstleister der genau diese Anforderung gestellt hat.
Ich habe auch eine differenzierte Meinung dazu. Aber...
Meinst Du über einen JOIN bekomme ich das hin? Könntest Du mir den JOIN Deiner Meinung nach kurz
skizzieren.

Danke und Gruss
Stephan
 
Grob könnte das so aussehen:
Code:
CREATE OR REPLACE FORCE VIEW "V_BNK_WKZLE_GEEN" ("GERMAN", "ENGLISH")
AS
SELECT    V_BNK_WKZLE_GE.GERMAN,
        V_BNK_WKZLE_EN.ENGLISH
FROM V_BNK_WKZLE_GE
INNER JOIN V_BNK_WKZLE_EN
ON V_BNK_WKZLE_GE.primary_key = V_BNK_WKZLE_EN_primary_key
ORDER BY V_BNK_WKZLE_GE.GERMAN,V_BNK_WKZLE_EN.ENGLISH
Aber wie gesagt, Sortierung ist anders nicht logisch hinzubekommen.
 
Aber wie gesagt, Sortierung ist anders nicht logisch hinzubekommen.
Da liegst du sowas von falsch :)

@vogste Du musst nurnoch die Zeilenzahl auslesen und an anhand dieser Joinen (die Zeilen sind ja schon von deinen Views sortiert worden...)
Code:
Select t.german
      ,p.english
From   (Select german
              ,rownum As rn
        From   v_bnk_wkzle_ge) t

Inner  Join (Select english
                   ,rownum As rn
             From   v_bnk_wkzle_en) p
On     p.rn = t.rn
 
Das das geht ist mir auch klar aber die Übersetzungen passen so nicht zueinander wodurch es absolut sinnfrei und daher unlogisch wird.
1. Du weißt nicht ob der Dienstleister überhaupt eine Zuordnung zwischen den Übersetzungen will.
2. Du weißt nicht wofür das ganze gebraucht wird... Also würde ich das nicht als allgemein unlogisch und sinnfrei betiteln.

Nur weil du dir kein Szenario denken kannst in der man so einen Datenaufbau braucht, heißt es nicht dass es grundsätzlich falsch ist... Und ich denke der Dienstleister wird schon wissen was er braucht...
Ansonsten kannst du ihm gerne erklären wie unlogisch seine Anforderung doch ist :)
 
Werbung:
Zurück
Oben