Dukeatcoding
Mitglied
Ich habe eine erstuanliche Erfahrung gemacht
Setzt man die Jahreszahl 2008 und die jeweiligen Monate 1-12 in '' so kommt was anderes raus als ohne und was dabei das erstaunliche ist mit '' ist es nicht das Ergebnis das es müsste. Hat jemand eine Erklärung dafür ?
Setzt man die Jahreszahl 2008 und die jeweiligen Monate 1-12 in '' so kommt was anderes raus als ohne und was dabei das erstaunliche ist mit '' ist es nicht das Ergebnis das es müsste. Hat jemand eine Erklärung dafür ?
PHP:
Select DISTINCT
mitarbeiter.*,
mitarbeiter_zeiten.*,
mitarbeiter_zeiten.gehalt as gehalt,
kostenstellen.name as kostenstelle,
mitarbeiter_kostenstellen.prozent as prozent,
CASE WHEN ((vonmonat <= 1 and vonjahr=2008 and ((bisjahr = 2008 and bismonat>= 1)or(bisjahr>2008)))
or (vonjahr < 2008 and ((bisjahr=2008 and bismonat >= 1)or (bisjahr>2008))))
THEN gehalt * prozent / 100 ELSE '0' END AS januar,
CASE WHEN ((vonmonat <= 2 and vonjahr=2008 and ((bisjahr = 2008 and bismonat>= 2)or(bisjahr>2008)))
or (vonjahr < 2008 and ((bisjahr=2008 and bismonat >= 2)or (bisjahr>2008))))
THEN gehalt * prozent / 100 ELSE '0' END AS februar,
CASE WHEN ((vonmonat <= 3 and vonjahr=2008 and ((bisjahr = 2008 and bismonat>= 3)or(bisjahr>2008)))
or (vonjahr < 2008 and ((bisjahr=2008 and bismonat >= 3)or (bisjahr>2008))))
THEN gehalt * prozent / 100 ELSE '0' END AS mrz,
CASE WHEN ((vonmonat <= 4 and vonjahr=2008 and ((bisjahr = 2008 and bismonat>= 4)or(bisjahr>2008)))
or (vonjahr < 2008 and ((bisjahr=2008 and bismonat >= 4)or (bisjahr>2008))))
THEN gehalt * prozent / 100 ELSE '0' END AS april,
CASE WHEN ((vonmonat <= 5 and vonjahr=2008 and ((bisjahr = 2008 and bismonat>= 5)or(bisjahr>2008)))
or (vonjahr < 2008 and ((bisjahr=2008 and bismonat >= 5)or (bisjahr>2008))))
THEN gehalt * prozent / 100 ELSE '0' END AS mai,
CASE WHEN ((vonmonat <= 6 and vonjahr=2008 and ((bisjahr = 2008 and bismonat>= 6)or(bisjahr>2008)))
or (vonjahr < 2008 and ((bisjahr=2008 and bismonat >= 6)or (bisjahr>2008))))
THEN gehalt * prozent / 100 ELSE '0' END AS juni,
CASE WHEN ((vonmonat <= 7 and vonjahr=2008 and ((bisjahr = 2008 and bismonat>= 7)or(bisjahr>2008)))
or (vonjahr < 2008 and ((bisjahr=2008 and bismonat >= 7)or (bisjahr>2008))))
THEN gehalt * prozent / 100 ELSE '0' END AS juli,
CASE WHEN ((vonmonat <= 8 and vonjahr=2008 and ((bisjahr = 2008 and bismonat>= 8)or(bisjahr>2008)))
or (vonjahr < 2008 and ((bisjahr=2008 and bismonat >= 8)or (bisjahr>2008))))
THEN gehalt * prozent / 100 ELSE '0' END AS august,
CASE WHEN ((vonmonat <= 9 and vonjahr=2008 and ((bisjahr = 2008 and bismonat>= 9)or(bisjahr>2008)))
or (vonjahr < 2008 and ((bisjahr=2008 and bismonat >= 9)or (bisjahr>2008))))
THEN gehalt * prozent / 100 ELSE '0' END AS september,
CASE WHEN ((vonmonat <= 10 and vonjahr=2008 and ((bisjahr = 2008 and bismonat>= 10)or(bisjahr>2008)))
or (vonjahr < 2008 and ((bisjahr=2008 and bismonat >= 10)or (bisjahr>2008))))
THEN gehalt * prozent / 100 ELSE '0' END AS oktober,
CASE WHEN ((vonmonat <= 11 and vonjahr=2008 and ((bisjahr = 2008 and bismonat>= 11)or(bisjahr>2008)))
or (vonjahr < 2008 and ((bisjahr=2008 and bismonat >= 11)or (bisjahr>2008))))
THEN gehalt * prozent / 100 ELSE '0' END AS november,
CASE WHEN ((vonmonat <= 12 and vonjahr=2008 and ((bisjahr = 2008 and bismonat>= 12)or(bisjahr>2008)))
or (vonjahr < 2008 and ((bisjahr=2008 and bismonat >= 12)or (bisjahr>2008))))
THEN gehalt * prozent / 100 ELSE '0' END AS dezember
from mitarbeiter,mitarbeiter_zeiten,mitarbeiter_kostenstellen,kostenstellen
where
mitarbeiter_zeiten.mid=mitarbeiter.id
and (vonjahr<='2008' and bisjahr>='2008')
and mitarbeiter_zeiten.id = mitarbeiter_kostenstellen.bid
and mitarbeiter_kostenstellen.kid ='7'
and kostenstellen.id = '7'
order by name ASC, vorname ASC