Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: MYSQL Abfrage - Select Invers

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    MYSQL Abfrage - Select Invers
    am: 23. April 2010, 08:45:29
    Hi Leute,

    ich glaub ich raffs grad nicht, oder sitz gewaltig auf´m Schlauch.

    Folgendes:

    Ich möchte alle "Spassregistrierer" ausfindig machen und diese dann löschen.

    Dazu habe ich mir folgendes überlegt:

    Code: PHP  [Auswählen]
    select c.customers_id, count(*) as count from orders o, customers c where o.customers_id = c.customers_id group by c.customers_id
     
    damit bekomme ich nun jeden Kunden, der schon mal was bestellt hat.

    ABER: Wie bekomme ich das genaue Gegenteil ?

    Kann mir da mal wer auf die Sprünge helfen ?

    Danke



    Linkback: https://www.modified-shop.org/forum/index.php?topic=5255.0

    mantis

    • Viel Schreiber
    • Beiträge: 1.188
    • Geschlecht:
    MYSQL Abfrage - Select Invers
    Antwort #1 am: 23. April 2010, 08:59:29
    dir fehlt die Where clausel dafür brauchst du die Daten von "orders" also nach dem Motto

    select alle Kunden die nicht in orders sind (verlgleich läuft über die customers_id (evtl. sogar customers_cid)

    Gruss
    mantis

    mouseworx

    • Schreiberling
    • Beiträge: 254
    • Geschlecht:
    MYSQL Abfrage - Select Invers
    Antwort #2 am: 23. April 2010, 09:16:44
    Hi,

    eigentlich ganz einfach:

    Code: SQL  [Auswählen]
    SELECT customers_id FROM customers WHERE customers_id NOT IN ( SELECT customers_id FROM orders )
    Grüße
    Sebastian

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    MYSQL Abfrage - Select Invers
    Antwort #3 am: 23. April 2010, 10:20:59
    Danke, Ich habs doch gewusst, dass ich aufm Schlauch steh.

    meine Lösung sieht jetzt so aus:

    Code: PHP  [Auswählen]
    SELECT customers_id, customers_date_added
    FROM customers
    WHERE not exists (select customers_id from orders Where customers.customers_id = orders.customers_id)
    AND not exists (select customers_info_id, customers_info_date_account_created from customers_info Where customers.customers_id = customers_info.customers_info_id
    AND customers_info.customers_info_date_account_created>= NOW() - interval 30 day)
     
    damit habe ich die letzten 30 Tage nicht berücksichtigt. :/

    0 Antworten
    1818 Aufrufe
    05. Oktober 2010, 10:27:48 von hechicero
    2 Antworten
    1546 Aufrufe
    04. November 2014, 14:56:35 von Roberto75
    50 Antworten
    12010 Aufrufe
    28. September 2018, 10:37:39 von Viol
    47 Antworten
    23348 Aufrufe
    13. April 2013, 15:29:49 von 0815