AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 05:17

Parameter dieser Suchanfrage:

Suche in Thema: Abfrage: Kund hat Artikel X aber nicht Y gekauft
Suche alle Beiträge, die von "jaenicke" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 5 von insges. 5 Treffern
Suche benötigte 0.000s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Datenbanken

    AW: Abfrage: Kund hat Artikel X aber nicht Y gekauft

     
      by jaenicke, 10. Apr 2024
    sum über case ist aber vermutlich die langsamste Variante, weil dies kaum optimiert werden kann. Meine letzte Variante ist auch kein echtes Subselect, weil die zweite Abfrage mit join kombiniert und nicht in jeder Zeile ausgeführt wird.

    Holger hat mit seinem Einwand aber natürlich auch Recht:
  • Forum: Datenbanken

    AW: Abfrage: Kund hat Artikel X aber nicht Y gekauft

     
      by jaenicke, 10. Apr 2024
    Ja, da hast du Recht. Mit einem join in der Form sollte es aber gehen:
    SELECT DISTINCT K.KdNr, K.Name
    FROM Kunden K
    INNER JOIN Rechnungen R ON K.KdNr = R.KdNr
    INNER JOIN Positionen PA ON R.ReNr = PA.ReNr AND PA.Artikel = 4701
    LEFT JOIN (
    SELECT DISTINCT R.KdNr
    FROM Rechnungen R
    INNER JOIN Positionen PB ON R.ReNr = PB.ReNr
    WHERE PB.Artikel = 5702
  • Forum: Datenbanken

    AW: Abfrage: Kund hat Artikel X aber nicht Y gekauft

     
      by jaenicke, 10. Apr 2024
    Nein, denn wie du sagst, die Kunden mit B fliegen in der Zeile ja schon raus.
  • Forum: Datenbanken

    AW: Abfrage: Kund hat Artikel X aber nicht Y gekauft

     
      by jaenicke, 10. Apr 2024
    Das ist ja auch die Anforderung. Es sollen alle Kunden, die Artikel A gekauft haben, drin sein, und von denen nur die, die B nicht gekauft haben.

    Man könnte auch nur LEFT JOINs verwenden, aber sofern die Tabellen indiziert sind, sollte es mit dem INNER JOIN schneller sein. Beim dritten JOIN muss wiederum ein LEFT JOIN verwendet werden, damit die Nullwerte erhalten bleiben.
  • Forum: Datenbanken

    AW: Abfrage: Kund hat Artikel X aber nicht Y gekauft

     
      by jaenicke, 9. Apr 2024
    Wie wäre es so?
    SELECT DISTINCT K.*
    FROM Kunden K
    INNER JOIN Rechnungen R ON K.KdNr = R.KdNr
    INNER JOIN Positionen P1 ON R.ReNr = P1.ReNr AND P1.Artikel = A
    LEFT JOIN Positionen P2 ON R.ReNr = P2.ReNr AND P2.Artikel = B
    WHERE P2.ReNr IS NULL;
    Eine Zählung ist ja nicht notwendig. Es geht ja nur um die Existenz.

    Testcode für https://sqliteonline.com/


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=jaenicke&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=214938
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz