Ich habe 2 Tabellen hier, STOCK (ID, CODE)
und SALES (ID, CODE, STATUS)
. Ich möchte die Werte der STOCK-Tabelle filtern, indem Sie bestimmte Bedingungen aus der SALES-Tabelle verwenden.Filter mysql Tabelle basierend auf Werten aus einer anderen Tabelle
Ein Beispiel, wenn wir diese Werte in
STOCK Tabelle:
A1
A2
A3
A4
A5
und in
SALES Tabelle:
A1 - Sold
A2 - Returned
A3 - Assigned
A2 - Sold
A4 - Returned
Die Ergebnis sollte sein:
A4
A5
Was auch immer Elemente mit dem Status VERKAUFT und ZUGEORDNET sollten aus dem Ergebnis entfernt werden. Artikel mit Status RETURNED in der Tabelle SALES und Artikel, die noch nicht aus der Tabelle STOCK verwendet werden, sollten für die Eingabe verfügbar sein.
Ich habe versucht, den folgenden Code, aber das Problem ist, dass, sobald ein zurückgekehrter Artikel ist oder Assigned Verkauft mit Stand in Tabelle SALES erneut eingegeben, es ist immer noch in das Ergebnis zu bekommen.
SELECT t1.CODE
FROM STOCK t1
LEFT JOIN SALES t2 ON t2.CODE = t1.CODE
WHERE (t2.CODE IS NULL OR (t2.STATUS <> 'Sold' AND t2.STATUS <> 'Assigned'));
Bitte helfen Sie mir, dieses Problem zu lösen.
Vielen Dank. Das ist das, was ich benötige. Vielen Dank. – Vishnu
Hallo, ich wäre sehr dankbar, wenn Sie mir helfen könnten, dies in einem ** VIEW ** zu verwenden, da Unterabfrage in SELECT nicht erlaubt ist. – Vishnu