-
SQL Verknüpfung und Datenausgabe
Hallo Kollegen,
ich habe 2 Tabelle die ich mit einander verknüpfe. Ich bekomme auch die richtigen Daten, aber in der 2. Tabelle habe ich immer einen Datensatz mit 3 unterschiedlichen Felder die ich ausgeben möchte.
Bespiel:
Tabelle 1 :
Kunden_Nr
Tabelle 2:
Kunden_Nr
Feld 1
Feld 2
Feld 3
jetzige Ausgabe:
Kunden_nr, Feld 1, Feld 2, Feld 3
gewünschte Ausgabe:
Kunden_Nr, Feld 1
Kunden_Nr, Feld 2
Kunden_Nr, Feld 3
Muß ich die Tabelle 2 dreimal angeben?
Vielleicht kann mir einer helfen.
Danke schon einmal im Voraus
Jenne
-
Wenn Feld1 - 3 vom gleichen Datentyp sind, kannst du mit UNION arbeiten.
So auf die Art:
Code:
Select * from (
Select kndnr, Feld1 From tab1, tab2
where tab1.kndnr = tab2.kndnr
union
Select kndnr, Feld2 From tab1, tab2
where tab1.kndnr = tab2.kndnr
union
Select kndnr, Feld3 From tab1, tab2
where tab1.kndnr = tab2.kndnr
) t1
order by kndnr
lg Andreas
-
Du benötigst 3 Select-Anweisungen, die durch Union-Anweisungen als Einheit ausgeführt werden:
Code:
Select KundeNr, Fld1 as FLD
From MyFile Join ...
Where ...
Unoin All
Select KundeNr, Fld2 as FLD
From MyFile Join ...
Where ...
Union All
Select KundeNr, Fld3 as FLD
From MyFile Join ...
Where ...
Order By ...
Birgitta
-
Hallo Birgitta,
das hat jetzt soweit super geklappt,
aber das order by am Ende funktioniert nicht. Ich bekomme immer die Meldung:
Spalte Kunden_Nr darf nicht qualifiziert werden.
Gruß
Jenne
-
Ich nehme an, Du verwendest die Lösung von Andreas mit dem verschachtelten Sub-Select und nicht meine Lösung.
In Andreas Lösung musst Du, sofern Du die Kunden-Nr. qualifiziert angegeben willst T1 (und nicht den Datei-Namen) davor setzen.
Ansonsten könnest Du auch im Order By die Spalten-Nr. angeben, (z.B. Order By 1)
Der Order By sortiert die Daten aus allen 3 Selects (und nicht aus den einzelnen Selects, das ist erst ab Release 6.1 möglich).
Vielleicht noch eine Anmerkung zu UNION und UNION ALL.
Wird UNION ohne ALL angegeben, werde Duplikate eliminiert, d.h. wenn Du also für den gleichen Kunden in Feld 1 und Feld 2 den gleichen Wert hast, bekommst Du nur eine Zeile.
Bei Verwendung von UNION ALL werden alle Sätze ausgegeben, d.h. bei gleichen Feld-Wert werden mehrere Sätze ausgegeben.
Birgitta
-
Danke Birgitta, danke Andreas,
jetzt hat alles geklappt.
Order by mit der Nummer wahr der letzte Baustein der mir noch fehlte.
Gruß
Jenne
-
Da hat sich doch noch der eine oder andere Fehler bei mir eingeschlichen.
Similar Threads
-
By FNeurieser in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 11-10-06, 14:53
-
By desti82 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 04-07-06, 15:25
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
-
By hzille in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 06-07-04, 10:38
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks