Ik zit met een probleempje bij de volgende query:
Ik haal contractnummers en bronnen uit tabel A, die worden gekoppeld aan provisie informatie uit tabel P. Per lopend contract staat er per maand een saldo, provisie etc. in P. Nu wil ik een DISTINCT contract uit A halen om te voorkomen dat ik provisie dubbel ga tellen. (helaas kan A.contract niet UNIQUE zijn om administratieve redenen) Ik krijg alleen niet uitgevogeld hoe ik dat ga combineren met een GROUP op maand
Ik ben een beetje aan het experimenteren met GROUP BY maand HAVING *iets slims* en met diverse JOIN en DISTINCT combinaties, maar de casus geeft zich vooralsnog niet gewonnen. Wie snapt databases beter dan ik en heeft een idee
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| $provGesch=mysql_query("SELECT
P.maand,
SUM(ABS(P.saldo)),
SUM(P.provisie),
SUM(CASE WHEN P.provisie > 0
AND (P.nieuw != 'nieuw' OR P.nieuw IS NULL)
THEN ((CASE WHEN A.datum < '2005-01-01'
THEN (L.b2004+I.o2005)
WHEN A.datum >='2005-01-01' AND A.datum < '2006-01-01'
THEN (L.b2005+I.o2005)
WHEN A.datum >='2006-01-01' AND A.datum < '2007-01-01'
THEN (L.b2006+I.o2006)
WHEN A.datum >='2007-01-01'
THEN 0.00
ELSE 0.00
END)/1000)*ABS(P.saldo)
ELSE 0.00
END) AS uitprov
FROM alles AS A, provisie AS P, labels AS L, intercode I
WHERE A.contract=P.contract
AND A.bron=I.code
AND A.label=L.sublabel
AND A.bron='$int'
AND P.provisie > 0
AND P.maand >= '2006-01-01'
GROUP BY maand
"); |
Ik haal contractnummers en bronnen uit tabel A, die worden gekoppeld aan provisie informatie uit tabel P. Per lopend contract staat er per maand een saldo, provisie etc. in P. Nu wil ik een DISTINCT contract uit A halen om te voorkomen dat ik provisie dubbel ga tellen. (helaas kan A.contract niet UNIQUE zijn om administratieve redenen) Ik krijg alleen niet uitgevogeld hoe ik dat ga combineren met een GROUP op maand
Ik ben een beetje aan het experimenteren met GROUP BY maand HAVING *iets slims* en met diverse JOIN en DISTINCT combinaties, maar de casus geeft zich vooralsnog niet gewonnen. Wie snapt databases beter dan ik en heeft een idee
We spend our years as a tale that is told