2 Zeilen in einer Tabelle vergleichen

MaceX

Neuer Benutzer
Beiträge
2
Hallo,
ich möchte 2 Zeilen in einer Tabelle vergleichen.

Wie in dem Bsp. unten zu sehen geht es mir um diese 2 Spalten, ich komme nur nicht drauf, wie ich die benötigten rausfiltere/selektiere.
Also ich benötige aus dieser Abfrage die "TestA.01" da es keinen weiteren Wert dazu gibt (wenn ein Artikel mit .01 vorhanden ist muss es mindestens 1 weiteren geben, kann auch deutlich mehr sein)
Genauso müssten die sichtbar werden "TestC.01", da hier nicht die selbe Menge wie bei "TestC.2" enthalten ist.

Bsp.
ArtikelMenge
Test.011
Test.021
TestA.011
TestC.011
TestC.022
 
Werbung:
Ich dachte, ich hätte die Aufgabe beinahe verstanden, bis ich den letzten Satz gelesen habe.

"TestA.01" da es keinen weiteren Wert dazu gibt
was genau ist ein "weiterer Wert dazu"?
wenn ein Artikel mit .01 vorhanden ist muss es mindestens 1 weiteren geben
Wodurch zeichnet sich diese weitere oder mehrere davon aus?

Genauso müssten die sichtbar werden "TestC.01"
Was bedeutet sichtbar werden? Meinst Du, sie müssen ausgegeben werden?
Gibt es nicht.

Meinst Du es so?
Entfernt man im Artikel alles Daten ab dem Punkt, so müssen alle Datensätze angezeigt werden, die mit den verbliebenen Daten nicht mehrfach vorkommen. (das würde allerdings bedeuten, das TestC.02 ebenfalls ausgegeben werden müsste)
 
Ok, vielleicht habe ich mich zu ungenau ausgedrückt.

Test.01 & Test.02 ist quasi ein Set (beide mit je 1 stk, also passt, brauch nicht ausgegeben werden. --> keine Ausgabe

Ich benötige nur die Fehler!

.01 muss also mindestens .02 dazu haben (es könnte auch bis .20 gehen), genau darf es z.b. nicht nur .02 geben ohne .01

Bei TestA.01 ist nur ein teil da, es fehlt also .02, somit ein Fehler --> Ausgabe

Bei TestC.01 ist die Anzahl nicht gleich wie bei TestC.02 somit auch ein Fehler. --> Ausgabe

hoffe das ist nun genauer erklärt :)
 
Werbung:
Tja, weiß nicht so recht. Also was ist mit TestC.02? Auch ein Fehler oder?
Code:
select left(artikel, instr( artikel,'.' )), menge from meine_tabelle
group by left(artikel, instr( artikel,'.' )), menge
having count(*)=1

Wie Du anhand der Abfrage sehen kannst taucht da nirgendwo eine 20 auf (maximale Artikelzahl). Das wird nicht geprüft. Also nimm das Statement mal als ersten Vorschlag.
 
Zurück
Oben