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

SQL Abfrage: Bitte um Hilfe

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von MHeuergmbh, 26 April 2019.

  1. MHeuergmbh

    MHeuergmbh Neuer Benutzer

    Hallo, ich habe hier eine einfache Abfrage, welche mir über zwei Tabellen, eine Nummer (bszb und bskundennr) aus meiner Bestelltabelle(bestkk) und die kkkAT aus den Kundenstammdaten (kundenka) holen soll.

    Funktioniert auch soweit, nur dass ich ca. 20.000 ergebnisse mit immer dem selben Eintrag bekomme, was mache ich falsch? Vielen Vielen Dank für die Hilfe!

    Hier der Code:

    SELECT BESTKK.bszb, BSKUNDENNR,KUNDENKA.KKKAT
    FROM BESTKK, KUNDENKA
    where BESTKK.bszb = 96 AND BSKUNDENNR = 2120618

    1.PNG
     
  2. Dukel

    Dukel Datenbank-Guru

    Entweder gibt es 20.000 Einträge oder du musst die beteiligten Tabellen joinen.
     
  3. akretschmer

    akretschmer Datenbank-Guru

    er macht einen JOIN. Einen CROSS-Join. Der Fragesteller möge sich über die unterschiedlichen JOIN-Arten und deren Syntax informieren.
     
  4. ukulele

    ukulele Datenbank-Guru

    Ein Cross-Join kombiniert jeden Datensatz mit jedem Datensatz, ohne irgendeine Gemeinsamkeit. Du suchst also eine Join-Bedingung (Gemeinsamtkeit) und solltest außerdem explizite Join-Syntax verwenden wie z.B. INNER JOIN oder LEFT JOIN.
     
  5. MHeuergmbh

    MHeuergmbh Neuer Benutzer

    ich habe von joins leider keine Ahnung, kann mir evtl. jemand den code so umbauen, dass es lauffähig ist? wo muss ich das left join hinschreiben?
     
  6. akretschmer

    akretschmer Datenbank-Guru

    LMGTFY

    viel mehr können wir Dir jetzt da auch nicht helfen, weil uns nicht einmal der Aufbau der Tabellen bekannt ist.
     
  7. MysterioJN

    MysterioJN Datenbank-Guru

    @ akretschmer xD Danke für die Verlinkung. Die kannte ich auch noch nicht *mich weg werf*



    @ Fragesteller:

    Du möchtest doch deine Tabelle mit den Bestellungen um eine Information aus der Tabelle mit den Kundenstammdaten ergänzen. Richtig?

    Also ist die maßgebende Tabelle schon mal die "Bestellungen".

    Sprich jetzt kommt der Join über die eindeutige ID (kann z.B. die Kundennummer sein, die in beiden Tabellen identisch sein muss).

    SELECT

    ....

    FROM <Tabelle Bestellungen>
    LEFT JOIN <Tabelle Kundenstamm> ON <tabelle Bestellung.eideutigeID> = <tabelle Kundenstamm.eindeutigeID>

    WHERE ...



    GGf. solltest du nur aufpassen, das bei Bestellungstabellen ggf. auch die Abwicklung/Fakturierung in neuen Datenzeilen erfolgen kann.
    Sprich z.B. Stornos oder die Abwicklung/Begleichung selbst.
    Nicht das du dadurch doppelte/dreifache/vierfach... Zeilen bekommst..
    Aber das hängt vom Aufbau deiner Tabelle Bestellung ab.
     
    Zuletzt bearbeitet: 10 Mai 2019
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