Jörg: mysql: NULL Wert erzeugen

Beitrag lesen

Hallo Rolf,

Jetzt wird ein ganzer Schuhladen draus.

Du versuchst also - wenn ich die ID mal mit in das Ergebnis nehme - so was zu bekommen, wenn die IDs 4724 und 4896 nicht in myTable enthalten sind:

ID      xyz
4401    5
4724    null (oder 0)
4895    7
4896    null (oder 0)

Wenn ich das richtig deute, ist es Dir doch egal, welche IDs nicht da sind. Wichtig ist nur, dass welche fehlen. Wenn welche fehlen, wertest Du sie mit 0% und daraus folgt: diejenigen, die vorhanden sind, müssen 0% enthalten, damit du fakturieren kannst.

Ja, sämtliche Annahmen sind korrekt. Danke für das Hineindenken in die Materie. ich hätte das besser erklären sollen/können.

Wie wäre es mit

SELECT xyz, COUNT(*) as Anzahl
FROM myTable 
WHERE ID IN (....)
GROUP BY xyz

Nehmen wir noch an, dass Du in $numIDs die Anzahl der IDs stehen hast, die Du in die IN Klausel hineingibst.

Du bekommst:

  • 0 Treffer: Kein Rabatt
  • 1 Treffer UND Anzahl == $numIDs - Rabatt = xyz
  • 1 Treffer UND Anzahl < $numIDs UND xyz = 0: Okay, kein Rabatt
  • 1 Treffer UND Anzahl < $numIDs UND xyz > 0: Keine Fakturierung weil Widerspruch zu den als 0 angenommenen Sätzen
  • 2 Treffer oder mehr: Keine Fakturierung weil Widerspruch in den gefundenen Sätzen

Mann, ist das clever! 👍 Ich habe länger gebraucht, zu verstehen, was Du da machst. Ich glaube, ich habe es jetzt, Du nutzt eine Kombination aus Ergebnis, Input und Ausschlußverfahren. Saugut!

Ich werde es am Donnerstag in der Praxis ausprobieren und berichten. Danke für die Hilfe.

Jörg