In meinem db habe ich eine Tabelle "sales" und ein "sales_item". Manchmal läuft etwas schief und der Verkauf wird aufgezeichnet, aber nicht der Artikel des Verkaufs.
Also ich versuche, die SalesID von meiner Tabelle "Umsatz", die keine Zeilen in der Tabelle sales_item haben.
Hier ist die MySQL-Abfrage, von der ich dachte, dass sie funktionieren würde, aber sie tut es nicht:
%Vor%Irgendwelche Gedanken?
Sie müssen den Tabellen nicht beitreten, Sie können etwas wie:
verwenden %Vor%Dies filtert nur die Verkäufe, die keine entsprechenden sales_item Einträge haben.
Aus Gründen der Vollständigkeit ....
%Vor%MySQL kann Probleme mit IN-Klauseln haben.
Unter der Annahme, dass jedem Artikel in sales_item eine sales_id zugeordnet ist, suchen Sie wahrscheinlich nach allen Verkäufen, die keine Artikel enthalten.
Wie wäre es mit einer Unterabfrage? Erhalten Sie alle Verkaufs-IDs aus der Verkaufstabelle, in der die ID nicht in der Artikeltabelle vorhanden ist ...
%Vor%(Hinweis: Exakte Syntax kann falsch sein, aber die Idee sollte solide sein, wenn ich die Frage richtig verstanden habe)
Der Join beschränkt die anzuzeigenden Zeilen. Mein Rat ist, den Join zu vergessen und stattdessen so etwas zu verwenden:
auswählen * aus dem Verkauf wo salesId nicht in (selectId aus sales_item auswählen)
Gibt im Grunde Verkäufe zurück, denen kein sales_item zugeordnet ist.
Viel Glück
Sie sollten die Zeilen wahrscheinlich nach der Verkaufspositions-ID gruppieren.
%Vor%Tags und Links mysql