Wer hat Produkt X noch nicht gekauft?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wer hat Produkt X noch nicht gekauft?

    Hallo,

    vorhanden sind als Test 2 Spalten:

    - kunde
    - produkt

    Darin sind diverse Bestellungen gespeichert.

    Wie finde ich jetzt raus, wer von den Kunden das Produkt "Fernseher" noch NICHT gekauft hat?

    Das listet mir ja nur alle Ergebnisse ohne Fernseher auf:

    SELECT * FROM table WHERE produkt!='Fernseher'

    Danke!

  • #2
    Hallo,

    du joinst alle Kunden mit den Produkten, die sie bereits gekauft haben, berücksichtigst in der on-Klausel nur Fernseher und berücksichtigst in der Where-Klausel nur die, wo die rechte Relation null ist.

    Ich würde es dir ja sogar genauer sagen, aber dafür brauche ich mehr Infos. Fremdschlüsselspalten, Primärschlüsselspalten und natürlich den Namen der n:m-Relation zwischen den beiden Tabellen.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Es ist testweise 1 Tabelle mit 2 Spalten!

      Es muss auch nicht unbedingt JOIN sein, eine kleine Schleife würde da auch ausreichen...

      Kommentar


      • #4
        Das ist testweise eine ganz schlechte Idee Dafür brauchst du (mindestens) 3 Tabellen.

        Zum Thema Schleife: Wir sind ja hier im SQL-Forum, daher kommen für Schleifen nur Stored Procedures in Frage. Oder meinst du PHP?

        Trotzdem kannst du das genannte Verfahren auch auf dieselbe Tabelle anwenden, dann wäre es halt ein Self Left Join.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Schon mal jemand an EXISTS oder NOT EXISTS gedacht?

          MySQL :: MySQL 5.0 Reference Manual :: 12.2.9.6 EXISTS and NOT EXISTS

          Kommentar


          • #6
            Zitat von hightower85205 Beitrag anzeigen
            Schon mal jemand an EXISTS oder NOT EXISTS gedacht?[/url]
            Na klar, aber warum sollte man das benutzen, wenn es mit Joins genau so geht nur schneller?
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Zitat von AmicaNoctis Beitrag anzeigen
              Na klar, aber warum sollte man das benutzen, wenn es mit Joins genau so geht nur schneller?
              na gut, das Argument lasse ich gelten

              Kommentar

              Lädt...
              X