Hallo Forum,
ich habe eine (durch dedlfix und Vinzenz Hilfe) gefunden Query, die ich um 2 Punkte erweitern möchte. Leider ist der Thread schon im Archiv, weshalb ich einen neuen Thread eröffnen muß.
Ich erstelle per php eine temporäre Tabelle dieser Art:
CREATE TEMPORARY TABLE praefix_tmp (
`ID` INT( 2 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`Monat` VARCHAR( 10 ) NOT NULL
) ENGINE = MYISAM ;
INSERT INTO `tmp` (`ID`, `Monat`) VALUES
(1, '2010|10'),
(2, '2010|09'),
(3, '2010|08'),
(4, '2010|07'),
(5, '2010|06');
Danach erstelle ich eine weitere temporäre Tabelle, in die ich Daten aus anderen Tabellen hineinpacke:
CREATE TEMPORARY TABLE monatsdaten
SELECT FROM_UNIXTIME(r.Timestamp, '%Y%|%m') AS ym,
sum(b.Menge*b.Preis*
(CASE
WHEN b.Faktor = 'ja' THEN 1
WHEN b.Faktor = '' THEN 1
WHEN b.Faktor = '100' THEN 1
WHEN b.Faktor = 'nein' THEN 0
WHEN ISNULL(b.Faktor) THEN 1
END) ) AS count
FROM praefix_TabelleB b
JOIN praefix_TabelleR r
ON b.G_ID = r.G_ID
WHERE
b.Art = 'A' AND
b.Status = 'XX'
AND FROM_UNIXTIME(r.Timestamp) > NOW() - INTERVAL 1 YEAR
GROUP BY ym DESC
Und zum guten Schluss joine ich diese beiden Tabellen:
SELECT t.Monat, m.COUNT as count
from praefix_tmp t
LEFT JOIN monatsdaten m
ON t.Monat = m.ym
ORDER BY t.Monat DESC
um eine schöne Tabelle, nach Monaten sortiert zu erhalten.
Soviel zum Hintergrund meiner Frage.
Im 2. Teil, in dem ich die temporäre Monatsdaten-Tabelle erstelle, möchte ich nun erweitern.
Und zwar gibt es nicht nur den Status 'XX', sondern auch 'YY' und 'ZZ'.
Und ich möchte gerne, dass analog zu den XX-Werten die YY-Werte ebenfalls eingetragen werden und die ZZ-Werte mit negativem Vorzeichen eingetragen werden.
Ist das verständlich ausgedrückt? Und falls ja, wie kann ich das in der Query unterbringen?
Viele Grüße, Frank