Rolf B: mysql: NULL Wert erzeugen

Beitrag lesen

Hallo Jörg,

Nein, das ist tatsächlich nur 1 column.

Dann sollte ein SELECT DISTINCT xyz möglich sein, um Duplikate auszublenden. Oder verstehst Du unter einem "unique array" in PHP was Spezielles?

Achso... natürlich bin ich jetzt grad im php-Kontext unterwegs. Sorry, ich dachte, das sei klar.

Nein, wie denn. Du hast den Thread mit MYSQL getaggt.

Um die Erkenntnis voranzubringen - Du schriebst an Tabellenkalk:

Das Problem ist ja, dass von den (in obigem Beispiel) 4 Vorgängen überhaupt nur 2 Vorgänge in der Tabelle erfasst sind.

Soll heißen, diese beiden müssten mit 0% gewertet werden.

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.

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

Rolf

--
sumpsi - posui - obstruxi