• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Rechenoperationen in einer mysql Abfrage

Heavy-Dee

Mitglied
Hallo zusammen,
in einer Tabellenspalte "dstaddon" sind befindet sich eine Zeichenkette aus 12 Zeichen.
Das 6. Zeichen ist wahlweise eine "1" oder eine "2".
Mittels nachfolgender Abfrage lasse ich mir die Datensätze z.B für den Zeichenwert (hier: "1") ausgeben.

SELECT * FROM `data` WHERE SUBSTR(`dstaddon`, 6, 1)= 1

Ergebnis für "1" bei 128 DS
Ergebnis für "2" bei 51 DS


In php habe ich zwei Abfragen (für Wert 1 u. 2) und die beiden Ergebnisse (num rows) lasse ich entsprechend berecnen um die Differrenz zu erhalten.
Ergebnis = (Abfrg1) - (Abfrg2) ---> 128 - 51 = 77

Nun würde ich gerne alles in einer my SQL Abfrage zusammen fassen:

SELECT SUM(SUBSTR(`dstaddon`, 6, 1)) FROM `data` WHERE SUBSTR(`dstaddon`, 6, 1)= 1 liefert mir 128
und
SELECT SUM(SUBSTR(`dstaddon`, 6, 1)) FROM `data` WHERE SUBSTR(`dstaddon`, 6, 1)= 2 liefert mir 102

Wie kann ich diese beiden miteinander kombinieren ( wobei die 2te erst noch durch 2 dividiert werden muss) um direkt das Ergebniss 77 zu erhalten.

Soll Ergebnis: Select 1 - (Select2 / 2) = 77
 
Werbung:
Ich weiß zwar nun nicht ob es wirklich richtig ist, denn mein phpmyadmin bei xampp hat mir Fehler ausgespuckt, im PHP lief es einwandfrei

Code:
SELECT (SUM(SUBSTR(`dstaddon`, 6, 1)) - (SELECT (SUM(SUBSTR(`dstaddon`, 6, 1)) / 2) FROM `data` WHERE SUBSTR(`dstaddon`, 6, 1)= 2)) as result FROM `data` WHERE SUBSTR(`dstaddon`, 6, 1)= 1

da müsste denn die 77 rauskommen
 
Werbung:
Zurück
Oben