Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

SQL Abfrage-Frage

Dieses Thema im Forum "Andere Datenbankserver" wurde erstellt von Wirbelrohr, 18 September 2015.

  1. Wirbelrohr

    Wirbelrohr Neuer Benutzer

    Hallöle :)

    Hab mal wieder was. Haben die Aufgabe bekommen, für einen Kunden alle verwendeten Rezepturen für die jeweiligen Artikel rauszusuchen. Bin natürlich nicht wahnsinnig und suche alles manuell raus. Habe schon ein paar sinnvolle Datenabfragen gemacht, die nur noch kleine nacharbeit benötigen.
    Aus meinem eigenen Antrieb wollte ich mal bei den Profis fragen, obs für mein Problem eine SQL-Technische Lösung gibt.

    Select
    WCADM.MATERIAL.STLAPLNR,
    WCADM.ARTIKEL.MATCHCODE,
    WCADM.ARTIKEL.TEXT,
    WCADM.MATERIAL.ARTNR,
    WCADM.MATERIAL.BEZEICHNUNG,
    WCADM.MATERIAL.REZEPTURNR,
    WCADM.ARTIKEL.ZEICHNR,
    WCADM.ARTKUND.KDNR,
    WCADM.KUNDE.MATCHCODE As MATCHCODE1
    From
    WCADM.MATERIAL Inner Join
    WCADM.ARTIKEL On WCADM.MATERIAL.STLAPLNR = WCADM.ARTIKEL.ARTNR Inner Join
    WCADM.ARTKUND On WCADM.ARTIKEL.ARTNR = WCADM.ARTKUND.ARTNR Inner Join
    WCADM.KUNDE On WCADM.ARTKUND.KDNR = WCADM.KUNDE.KDNR
    Where
    (WCADM.MATERIAL.ARTNR Like 'MM%' And
    WCADM.ARTKUND.KDNR Between '20002' And '20004') Or
    (WCADM.ARTKUND.KDNR = '20092') Or
    (WCADM.ARTKUND.KDNR = '20118')
    Order By
    WCADM.MATERIAL.STLAPLNR,
    WCADM.MATERIAL.REZEPTURNR,
    WCADM.ARTKUND.KDNR


    Also im Prinzip ist mein Problem folgendes:
    Ich hatte eine Liste mit Artikelnummern und einzelnen Komponenten (Mit Rezepturnummer) erstellt.
    Diese war schon recht brauchbar und man musste nur noch die nicht relevanten Kunden via Hand löschen. Jetzt hat mich der Ehrgeiz gepackt und ich hab relevanten Kunden (Kundennummer) rausgefiltert. So auch das hat funktioniert. Leider hat unser Kunde, der die Liste will mehrere Werke (mit jeweiligen Kundennummern). Die Liste zeigt jetzt Quasi für jede Kundennummer die ganzen Rezepturen an. Das brauch ich allerdings hier jetzt nicht mehr und soll Quasi auf "1" reduziert werden, so dass zu jedem Artikel nur noch alle Rezepturen 1x angezeigt werden. Gibts da ne möglichkeit. Erst hab ich ja gewollt gefiltert und will das bei der Ausgabe nicht mehr.
    Hoffe man versteht mein Problem :) Kann dann am Montag noch einen Screenshot zur veranschaulichung anhängen.

    Mit freundlichen Grüssen

    Stefan
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Verständlich.

    Formuliere Dein Problem bitte verständlich. Zeige den Aufbau Deiner Tabellen, paar Demo-Datensätze und was rauskommen soll. Dann kann man Dir (vielleicht) helfen.
     
  3. Wirbelrohr

    Wirbelrohr Neuer Benutzer

    OK. Also ich erläutere jetzt mal den jetzigen Stand der Liste und was ich gerne hätte.

    WCADM.MATERIAL.STLAPLNR ist die Artikelnummer bzw. Arbeitsplannummer. Jede Artikelnummer taucht 1x pro Komponente auf bzw. mehrmals, falls mehrere Rezepturen vorhanden sind. (Bei mir leider multipliziert x Kunden. Der Konzern hat 3 Werke, die bei uns bestellen. Teilweise sogar die selben Artikel. Mein wunsch wäre insgesamt 1 Zeile pro Komponente x Rezepturen.)

    WCADM.ARTIKEL.MATCHCODE ist Artikelname. Unwichtig für das Problem.

    WCADM.ARTIKEL.TEXT ist Artikeltext. Unwichtig für das Problem.

    WCADM.MATERIAL.ARTNR ist die Artikelnummer der einzelnen Komponente für eine Rezeptur.

    WCADM.MATERIAL.BEZEICHNUNG ist die Materialbezeichnung und somit unwichtig.

    WCADM.MATERIAL.REZEPTURNR ist die Rezepturnummer. In meinem Bespiel gibts es nur immer eine. Es sind aber Artikel mit mehreren Rezepturen vorhanden.

    WCADM.ARTIKEL.ZEICHNR ist die Kundenartikelnummer.

    WCADM.ARTKUND.KDNR ist die Kundennummer. Habe die benötigten bereits gefiltert. Da aber eine Zeile für jede Komponente pro Artikel ausreichen würde wäre eine zusammengefasste Ausgabe wünschenswert. Bei FT0001 sind zum Beispiel 6 Zeilen vorhanden 2 Komponenten x 3 Kunden. --> 2 Zeilen wären mein Sollzustand. (Also aus den erst gefilterten Kundennummern eine machen.)

    In den angehängten Dateien sollte man genau sehen was ich gerne möchte. Im "Sollzustand" können Kundennummern gern auftauchen muss aber nicht.

    Vielen Danke für Eure Bemühungen

    Stefan :)
     

    Anhänge:

Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden