none
SSIS Daten zusammenführen RRS feed

  • Frage

  • Hallo, wie kann ich zwei Datensätze von einer Tabelle in einen Datensatz zusammenführen und in eine neue Tabelle schreiben.

    Sprich ich habe eine Tabelle, welche folgende Daten beinhaltet.

    NR.; Belegnr;Zahlungsart; Buchungsdatum ; Betrag
    10; AR0001; Rechnung; 10.01.2012; 100
    11; AR0002; Rechnung; 11.01.2012; 200
    10; ZA0001; Zahlung; 18.01.2012; 100

    In der neuen Tabelle bräuchte ich den folgende Daten

    Nr; Belegnr Rechnung; Buchungsdatum Rechnung; Buchungsdatum Zahlung; Differenz der beiden Buchungsdatums

    Mit welchen SSIS-Task kann ich so etwas realisieren.

    Besten Dank

    stony

    Donnerstag, 28. Juni 2012 08:38

Antworten

  • Hallo stony17

    stony17 wrote:

    Hallo, wie kann ich zwei Datensätze von einer Tabelle in einen Datensatz
    zusammenführen und in eine neue Tabelle schreiben.

    Sprich ich habe eine Tabelle, welche folgende Daten beinhaltet.

    NR.; Belegnr;Zahlungsart; Buchungsdatum ; Betrag
    10; AR0001; Rechnung; 10.01.2012; 100
    11; AR0002; Rechnung; 11.01.2012; 200
    10; ZA0001; Zahlung; 18.01.2012; 100

    In der neuen Tabelle bräuchte ich den folgende Daten

    Nr; Belegnr Rechnung; Buchungsdatum Rechnung; Buchungsdatum Zahlung;
    Differenz der beiden Buchungsdatums
    Mit welchen SSIS-Task kann ich so etwas realisieren.

    Daführ braucht's keine neue Tabelle, eine Abfrage mit einem "Self Join" reicht vollkommen aus:

    SELECT
         T1.NR AS Nr,
         T1.BELEGNR AS [Belegnr Rechnung],
         T1.BuchungsDatum AS [Buchungsdatum Rechnung],
         T2.BuchungsDatum AS [Buchungsdatum Zahlung],
         DATEDIFF(D, T1.BuchungsDatum, T2.BuchungsDatum) AS [Differenz der beiden
    Buchungsdatums]
     FROM DeineTabelle T1 INNER JOIN
         DeineTabelleT2 ON T1.NR = T2.NR AND T1.Zahlungsart = 'Rechnung' AND
    T2.Zahlungsart = 'Zahlung'

    HTH
    Henry

    Donnerstag, 28. Juni 2012 10:11

Alle Antworten

  • Am 28.06.2012 10:38, schrieb stony17:

    Hallo, wie kann ich zwei Datensätze von einer Tabelle in einen Datensatz zusammenführen und in eine neue Tabelle schreiben.

    Sprich ich habe eine Tabelle, welche folgende Daten beinhaltet.

    NR.; Belegnr;Zahlungsart; Buchungsdatum ; Betrag
    10; AR0001; Rechnung; 10.01.2012; 100
    11; AR0002; Rechnung; 11.01.2012; 200
    10; ZA0001; Zahlung; 18.01.2012; 100

    In der neuen Tabelle bräuchte ich den folgende Daten

    Nr; Belegnr Rechnung; Buchungsdatum Rechnung; Buchungsdatum Zahlung; Differenz der beiden Buchungsdatums

    Warum baust du dir nicht eine Abfrage auf die du zugreifst?

    Eine Unterabfrage mit Bedingung "Rechnung", eine mit "Zahlung" und beide über NR verknüpfen.

    Fertig hast du deine gewünschte Struktur.

    Donnerstag, 28. Juni 2012 09:54
  • Hallo stony17

    stony17 wrote:

    Hallo, wie kann ich zwei Datensätze von einer Tabelle in einen Datensatz
    zusammenführen und in eine neue Tabelle schreiben.

    Sprich ich habe eine Tabelle, welche folgende Daten beinhaltet.

    NR.; Belegnr;Zahlungsart; Buchungsdatum ; Betrag
    10; AR0001; Rechnung; 10.01.2012; 100
    11; AR0002; Rechnung; 11.01.2012; 200
    10; ZA0001; Zahlung; 18.01.2012; 100

    In der neuen Tabelle bräuchte ich den folgende Daten

    Nr; Belegnr Rechnung; Buchungsdatum Rechnung; Buchungsdatum Zahlung;
    Differenz der beiden Buchungsdatums
    Mit welchen SSIS-Task kann ich so etwas realisieren.

    Daführ braucht's keine neue Tabelle, eine Abfrage mit einem "Self Join" reicht vollkommen aus:

    SELECT
         T1.NR AS Nr,
         T1.BELEGNR AS [Belegnr Rechnung],
         T1.BuchungsDatum AS [Buchungsdatum Rechnung],
         T2.BuchungsDatum AS [Buchungsdatum Zahlung],
         DATEDIFF(D, T1.BuchungsDatum, T2.BuchungsDatum) AS [Differenz der beiden
    Buchungsdatums]
     FROM DeineTabelle T1 INNER JOIN
         DeineTabelleT2 ON T1.NR = T2.NR AND T1.Zahlungsart = 'Rechnung' AND
    T2.Zahlungsart = 'Zahlung'

    HTH
    Henry

    Donnerstag, 28. Juni 2012 10:11
  • Hallo stony17,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert


    Robert Breitenhofer, MICROSOFT  Twitter Facebook
    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Mittwoch, 1. August 2012 09:08
    Moderator