SELECT COUNT(sendbook.id) AS total, SUM(sendbook.num) AS num, (
SELECT COUNT(sendbook.id)
FROM sendbook
INNER JOIN clients ON clients.id = sendbook.clientid
WHERE sendbook.issueid = '29'
AND clients.area >1000
AND clients.area <2000
) AS area1000, (
SELECT COUNT(sendbook.id)
FROM sendbook
INNER JOIN clients ON clients.id = sendbook.clientid
WHERE sendbook.issueid = '29'
AND clients.area >2000
AND clients.area <3000
) AS area2000, (
SELECT COUNT(sendbook.id)
FROM sendbook
INNER JOIN clients ON clients.id = sendbook.clientid
WHERE sendbook.issueid = '29'
AND clients.area >3000
AND clients.area <4001
) AS area2000
FROM `sendbook`
WHERE sendbook.issueid = '29'
total num area1000 area2000 area2000
8 438 3 3 2
Savez-vous un moyen de simplifier cette requête? Réfléchitsimplifier cette requête
ne devrait pas votre deuxième « area2000 » être nommé « area3000 »? Que se passe-t-il avec les zones 2000 et 3000 - celles-ci ne sont pas prises en compte dans votre requête, est-ce exact? quelques informations plus générales seraient bien. – oezi