Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.

THEMA: Daten aus 2 SQL Tabellen zusammenführen

Daten aus 2 SQL Tabellen zusammenführen 6 Jahre 3 Monate her #137

  • Roland Rueegger
  • Roland Rueeggers Avatar
  • Offline
  • Junior Member
  • Beiträge: 29
Ist es auch möglich, oder wird es in Zukunft möglich sein, 2 SQL Datenbanken gleichzeitig auf der Read Seite zu öffnen und zu einer Datei zusammenzuführen. Key ist vorhanden auf beiden SQL Tabellen als Referenz Feld.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Daten aus 2 SQL Tabellen zusammenführen 6 Jahre 3 Monate her #138

  • Roland Rueegger
  • Roland Rueeggers Avatar
  • Offline
  • Junior Member
  • Beiträge: 29
Das können Sie problemlos bereits jetzt schon machen. Hierzu brauchen Sie nur auf der READ Seite den

Select * from IhreTabelle

ändern in

Select tabelle1.feld1, tabelle1.feld2, tabelle2.feld1, tabelle2.feld2 from tabelle1 inner join tabelle2 on tabelle1.feld1 = tabelle2.feld1

ist leider mit etwas Handarbeit verbunden!

Sollten Sie den MS SQL-Server verwenden, könnten Sie sogar hierüber bereits auf 2 Datenbanken zugreifen, vorausgesetzt die Datenbanken liegen auf dem gleichen Server! Hierzu müssen sie lediglich dann noch vor dem Tabellennamen den Datenbanknamen (mit 2 punkten) schreiben.

datenbank1..tabelle1.feld1 = datenbank2..tabell2.feld1

Bitte beachten: Die SQL Join Syntax hängt natürlich von der gewählten Datenbank ab!

in einer späteren Version ist geplant, dass Sie sowohl auf der READ wie auch auf der WRITE Seite mehrere Adapter angeben können. Diese können Sie dann ähnlich wie SQL Joins über bestimmte Felder verbinden.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Daten aus 2 SQL Tabellen zusammenführen 6 Jahre 3 Monate her #141

  • Roland Rueegger
  • Roland Rueeggers Avatar
  • Offline
  • Junior Member
  • Beiträge: 29
Hallo Herr Stark

Diese Kombination funktioniert. select F065_01, F065_04 FROM dbo.M100_T065

Die Funktion aus Ihrem Muster bringt mir eine Fehlermeldung. select dbo.M100_T065.F065_01 , usw

liegt es an dem Punkt nach dbo. ?

Mit dem Befehl inner join, gehe ich davon aus, dass dies die Keyfelder gemeint sind, welche die 2 Tabellen verbinden sollen.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Daten aus 2 SQL Tabellen zusammenführen 6 Jahre 3 Monate her #143

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1099
In der Feldaufzählung direkt nach dem select brauchen Sie das dbo. nicht mit anzugeben z.B.

select M100_T065.F065_01, M100_T065.F065_04 FROM dbo.M100_T065

In den meisten Fällen können Sie auf das dbo. Komplett verzichten. Außer Sie arbeiten mit mehreren Schemas bzw. SQL Benutzern.

Der JOIN verknüpft die 2 Tabellen anhand der angegeben Felder miteinander und liefert die Ergebnismenge davon zurück. Das müssen nicht unbedingt die Key Felder sein. Aus Performance Gründen sollten die Felder aber bei größeren Datenmengen indiziert sein.
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Daten aus 2 SQL Tabellen zusammenführen 6 Jahre 2 Monate her #176

  • Roland Rueegger
  • Roland Rueeggers Avatar
  • Offline
  • Junior Member
  • Beiträge: 29
Guten Abend Herr Stark
Hier habe ich eine funktionierende Lösung, wobei M100_T065 und M100_T134 die Tabellen darstellen und die Relation auf den Felder M100_T065.F065_01 und M100_T134.F065_01 liegt.

select M100_T065.F065_01, M100_T065.F065_04, M100_T134.F134_04, M100_T065.F065_06, M100_T065.F065_08, M100_T065.F065_09, M100_T134.F134_14, M100_T134.F134_67, M100_T134.F134_75, M100_T134.F134_85 FROM dbo.M100_T065 inner join dbo.M100_T134 on M100_T065.F065_01 = M100_T134.F134_01

Jetzt bleibt mir nur ein Problem! Ich frage mit der IF und Filterfunktion die Werte zweier Felder ab, welche den Wert 1 und 0 enthalten (1 = ja / 0 = nein). Ist ein Wert auf 1, muss eine Konvertierung statfinden und dies funktioniert auch mit dem Filter. Auf der Write Seite habe ich jetzt bei beiden abgefragten Felder einen Felinheilt 'nein'. Ich sollte jetzt aber den Werte 0 und 1 von der Read Seite auf der Write Seite mit 1 = ja und 2 = nein im Feld erhalten. Ich versuchte es auf x Varianten mit dem IF, Then Befehl. Es will mir aber nicht gelingen. Wie könnte ich dies den lösen? Bin gespannt und wünsche in der Zwischenzeit alles Gut.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Daten aus 2 SQL Tabellen zusammenführen 6 Jahre 2 Monate her #177

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1099
Hallo Herr Rüegger,

das liegt daran, dass der FlowHeater Felder anhand des Datentyps dynamisch umwandelt. Ihr Feld ist im SQL Server wahrscheinlich als Datentyp BIT (ja/nein bzw. boolean) definiert. Wenn Sie dieses Feld z.B. in eine CSV Textdatei exportieren, wandelt der FlowHeater dieses Feld anhand der Feldformatierung des WRITE Adapter um.

Öffnen Sie mal den Configurator der WRITE Seite. Wechseln Sie auf dem Format Tab und dann weiter auf Ja/Nein. Die erste Zeile (s. Screenshot) hier beschreibt wie der Datentyp Boolean in einen String (Text) dynamisch umgewandelt wird. Die restlichen Zeilen werden dafür verwendet wenn versucht wird Text nach Boolean (Ja/Nein) umzuwandeln. Gibt es hier eine Übereinstimmung ist das Feld TRUE bzw. FALSE.

Für Ihren Fall gibt es 3 Möglichkeiten wie Sie verfahren können.
  1. Etwas umständlich, Sie tragen in der ersten Zeile der Liste 0 für false/nein und 1 für true/ja ein. Das Ganze müssten Sie aber dann für jede Definition erneut eingeben. Es gibt leider noch keine Templates!
  2. Sie verwenden auf der CSV / WRITE Seite anstatt des Datentyps String für dieses Feld den Datentyp Interger. Hier greift dann wieder die dynamische Datentyp/Feld Umwandlung.
  3. Bei etwas komplexeren Umwandlungen können Sie z.B. auch den If-Then-Else Heater zusammen mit 2 X-Value Heatern verwenden. Wenn Feld = 1 Dann Ja Sonst Nein. Schauen Sie sich hierzu mal folgendes IF-THEN-ELSE Beispiel an.
Anhang:
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Daten aus 2 SQL Tabellen zusammenführen 6 Jahre 2 Monate her #178

  • Roland Rueegger
  • Roland Rueeggers Avatar
  • Offline
  • Junior Member
  • Beiträge: 29
Besten Dank Herr Stark
und es funktioniert! Im Anhang das erstellte und funktionierende Datei. Bis zum nächsten mal.

Anhang dbo.zip nicht gefunden

Anhang:
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.092 Sekunden