- Beiträge: 2
Zusammenführung aus mehreren Tabellen einer ODBC-Quelle
- Hinnerk
- Autor
- Offline
- Benutzer
Weniger
Mehr
3 Jahre 9 Monate her #4242
von Hinnerk
Zusammenführung aus mehreren Tabellen einer ODBC-Quelle - Beitrag(4242) wurde erstellt von Hinnerk
Moin.
Folgende Datenbank (firebird, Anbindung über ODBC) mit mehreren Tabellen ist vorhanden:
Tabelle "ADRESSEN" mit den Feldern: ID-NR, KundenNr, Name, Straße, PLZ, Ort
Tabelle "NOTIZEN" mit den Feldern: ID-NR, Datum, Kurzbeschreibung, Beschreibung
Tabelle "UMSATZ" mit den Feldern: ID-NR, R-Datum, Auftragsbeschreibung, Betrag, R-Datum
Hieraus soll eine nun eine Tabelle werden. Dabei ist ID-NR der Primary Key. Die Zeilen in Notizen und Umsatz werden über ID-NR jeweils den Kunden (Kunden-Nr.) zugeordnet.
Die neue Tabelle soll so aussehen:
KundenNr, Name, Straße, PLZ, Ort, Ursprungstabelle (NOTIZ oder UMSATZ), Datum, Kurzbeschreibung oder Auftragsbeschreibung, Beschreibung oder Betrag
Hab's leider nicht hinbekommen. Möchte mir jemand helfen?
Vielen Dank schon mal im Voraus.
Folgende Datenbank (firebird, Anbindung über ODBC) mit mehreren Tabellen ist vorhanden:
Tabelle "ADRESSEN" mit den Feldern: ID-NR, KundenNr, Name, Straße, PLZ, Ort
Tabelle "NOTIZEN" mit den Feldern: ID-NR, Datum, Kurzbeschreibung, Beschreibung
Tabelle "UMSATZ" mit den Feldern: ID-NR, R-Datum, Auftragsbeschreibung, Betrag, R-Datum
Hieraus soll eine nun eine Tabelle werden. Dabei ist ID-NR der Primary Key. Die Zeilen in Notizen und Umsatz werden über ID-NR jeweils den Kunden (Kunden-Nr.) zugeordnet.
Die neue Tabelle soll so aussehen:
KundenNr, Name, Straße, PLZ, Ort, Ursprungstabelle (NOTIZ oder UMSATZ), Datum, Kurzbeschreibung oder Auftragsbeschreibung, Beschreibung oder Betrag
Hab's leider nicht hinbekommen. Möchte mir jemand helfen?
Vielen Dank schon mal im Voraus.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
3 Jahre 9 Monate her #4243
von FlowHeater-Team
gruß
Robert Stark
FlowHeater-Team antwortete auf Zusammenführung aus mehreren Tabellen einer ODBC-Quelle - Beitrag(4243)
Hallo Hinnerk,
Ihre Beschreibung reicht leider nicht aus um einen konkreten Vorschlag zu machen. Sie schreiben, dass die Verknüpfung von NOTIZEN und UMSATZ über die Felder ID_NR und KundenNr stattfindet sowie das Feld auch der Primary Key ist? Das würde bedeuten, dass in den beiden Tabellen zu einem Kunden jeweils nur eine Notiz sowie Umsatz gespeichert werden kann.
Ich vermute, dass es in den beiden Tabellen jeweils noch ein Feld KundenNr gibt über das die 1:n Beziehung hergestellt wird?
Wenn dem so ist, können Sie im ODBC Adapter im SQL die Tabellen per JOIN miteinander verknüpfen und dann in Ihre neue Tabelle importieren.
SQL JOIN um mehrere Tabellen anhand der Beziehung auszulesen (ungetestet)
Falls das nicht zutrifft bitte etwas genauer Beschreiben was durchgeführt werden soll.
Hinweis: Der ODBC Adapter , sowie alle anderen Datenbank Adapter bis auf den SQLite Adapter , können derzeit keine Tabellen oder nicht vorhandene Felder in Tabellen dynamisch erzeugen. Hier müssten Sie im Vorfeld die Tabelle manuell einmalig anlegen.
Ihre Beschreibung reicht leider nicht aus um einen konkreten Vorschlag zu machen. Sie schreiben, dass die Verknüpfung von NOTIZEN und UMSATZ über die Felder ID_NR und KundenNr stattfindet sowie das Feld auch der Primary Key ist? Das würde bedeuten, dass in den beiden Tabellen zu einem Kunden jeweils nur eine Notiz sowie Umsatz gespeichert werden kann.
Ich vermute, dass es in den beiden Tabellen jeweils noch ein Feld KundenNr gibt über das die 1:n Beziehung hergestellt wird?
Wenn dem so ist, können Sie im ODBC Adapter im SQL die Tabellen per JOIN miteinander verknüpfen und dann in Ihre neue Tabelle importieren.
SQL JOIN um mehrere Tabellen anhand der Beziehung auszulesen (ungetestet)
Code:
SELECT ADRESSEN.*, NOTIZEN.Datum as DatumN, NOTIZEN.Kurzbeschreibung, UMSATZ.Datum as DatumU, UMSATZ.Auftragsbeschreibung from ADRESSEN LEFT JOIN NOTIZEN ON ADRESSEN.KundenNr = NOTIZEN.KundenNr LEFT JOIN UMSATZ Adressen.KundenNr = UMSATZ.KundenNr
Falls das nicht zutrifft bitte etwas genauer Beschreiben was durchgeführt werden soll.
Hinweis: Der ODBC Adapter , sowie alle anderen Datenbank Adapter bis auf den SQLite Adapter , können derzeit keine Tabellen oder nicht vorhandene Felder in Tabellen dynamisch erzeugen. Hier müssten Sie im Vorfeld die Tabelle manuell einmalig anlegen.
gruß
Robert Stark
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Hinnerk
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 2
3 Jahre 9 Monate her #4244
von Hinnerk
Hinnerk antwortete auf Zusammenführung aus mehreren Tabellen einer ODBC-Quelle - Beitrag(4244)
Moin,
ich versuch's nochmal
Nein, das Feld KundenNr gibt es leider nur in der ADRESSEN-Tabelle. In den Tabellen NOTIZEN und UMSATZ gibt es nur die ID-NR. Dies ist quasi der kryptische Maschinen-Code für die Kunden-Nr. Aber eine ID-NR hat immer die gleiche KundenNr.
Wenn ich nun in der UMSATZ- und NOTIZEN-Tabelle die Kunden-Nr. statt der ID-Nr. hätte würde die u.a. Formel wahrscheinlich passen. Es müsste also anhand der ID-Nr. die KundenNr. ermittelt werden.
Puuh .... ob das einer kapiert?
Ich hoffe mal.
ich versuch's nochmal
Nein, das Feld KundenNr gibt es leider nur in der ADRESSEN-Tabelle. In den Tabellen NOTIZEN und UMSATZ gibt es nur die ID-NR. Dies ist quasi der kryptische Maschinen-Code für die Kunden-Nr. Aber eine ID-NR hat immer die gleiche KundenNr.
Wenn ich nun in der UMSATZ- und NOTIZEN-Tabelle die Kunden-Nr. statt der ID-Nr. hätte würde die u.a. Formel wahrscheinlich passen. Es müsste also anhand der ID-Nr. die KundenNr. ermittelt werden.
Puuh .... ob das einer kapiert?
Ich hoffe mal.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
3 Jahre 9 Monate her - 3 Jahre 9 Monate her #4245
von FlowHeater-Team
gruß
Robert Stark
FlowHeater-Team antwortete auf Zusammenführung aus mehreren Tabellen einer ODBC-Quelle - Beitrag(4245)
Hallo Hinnerk,
haben die zwei Tabellen NOTIZEN und UMSATZ keinen eindeutigen Schlüssel (Primary Key)?
Ok, dann können Sie es auch etwas anders lösen. Sie benötigen dazu zwei Verarbeitungsschritte. Pro Verarbeitungsschritt wir jeweils eine Tabelle (UMSATZ bzw. NOTIZEN). Im Anhang finden Sie für einen Step ein Beispiel. Das Beispiel verwendet eine Access Datenbank auf der READ Seite, die Werte werden zur Demonstration lediglich in eine InMemory Adapter Tabelle geschrieben.
Für den SQL JOIN geben Sie dann entweder
SELECT * from ADRESSEN INNER JOIN NOTIZEN ON ADRESSEN.KundenNr = NOTIZEN.ID_NR
oder aber
SELECT * from ADRESSEN INNER JOIN UMSATZ ON ADRESSEN.KundenNr = UMSATZ.ID_NR
Der Wert für die Ursprungstabelle wird im jeweiligen Verarbeitungsschritt über einen statischen Wert, der aus einem X-Value Heater kommt, gesetzt.
haben die zwei Tabellen NOTIZEN und UMSATZ keinen eindeutigen Schlüssel (Primary Key)?
Ok, dann können Sie es auch etwas anders lösen. Sie benötigen dazu zwei Verarbeitungsschritte. Pro Verarbeitungsschritt wir jeweils eine Tabelle (UMSATZ bzw. NOTIZEN). Im Anhang finden Sie für einen Step ein Beispiel. Das Beispiel verwendet eine Access Datenbank auf der READ Seite, die Werte werden zur Demonstration lediglich in eine InMemory Adapter Tabelle geschrieben.
Für den SQL JOIN geben Sie dann entweder
SELECT * from ADRESSEN INNER JOIN NOTIZEN ON ADRESSEN.KundenNr = NOTIZEN.ID_NR
oder aber
SELECT * from ADRESSEN INNER JOIN UMSATZ ON ADRESSEN.KundenNr = UMSATZ.ID_NR
Der Wert für die Ursprungstabelle wird im jeweiligen Verarbeitungsschritt über einen statischen Wert, der aus einem X-Value Heater kommt, gesetzt.
gruß
Robert Stark
Letzte Änderung: 3 Jahre 9 Monate her von FlowHeater-Team.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.278 Sekunden