Bonjour, j'ai plusieurs soucis pour compter, trier et ranger...
J'ai donc deux tables

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
table1                   table2
 
id1 code1 categorie    id2 code2 groupe
 1   001        a       1   001       1
 2   002        b       2   002       1
 3   003        c       3   003       1
 4   004        d       4   004       2
 5   005        e       5   005       2
 6   006        b       6   006       2
 7   007        a       7   007       3
 8   008        a       8   008       3
 9   009        c       9   009       3
je voudrais arriver à :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
groupe categorie  nombre
   1       a         1
   2       a         0
   3       a         2

ce qui lie mes tables c'est le code

alors pour cette requete, je veux :
compter le nombre de 'categorie' dans chaque 'groupe'
grouper par 'groupe'
trier par l'id2'

et surtout afficher les zéro, des 'groupe'
n'ayant meme pas de 'categorie'
je veux savoir combien il y a de
categorie dans le groupe et s'il n'y en a pas afficher "0"

voici ce que j'ai fais pour l'instant

SELECT table2.groupe,
COUNT(table1.categorie) AS nombre
FROM table2, table1
WHERE table1.code=table2.code2 AND categorie = 'a'
GROUP BY table2.groupe
ORDER BY table2.id2 ASC
si vous pouviez me donner un coup de main
et s'il manque quelque chose, demandé moi

les CREATE TABLE

CREATE TABLE IF NOT EXISTS `table1` (
`id1` int(11) NOT NULL auto_increment,
`nom` text NOT NULL,
`prenom` text NOT NULL,
`categorie` text NOT NULL,
`code1` text NOT NULL,
PRIMARY KEY (`id1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
CREATE TABLE IF NOT EXISTS `table2` (
`id2` int(11) NOT NULL auto_increment,
`groupe` text NOT NULL,
`code2` text NOT NULL,
PRIMARY KEY (`id2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
et les INSERT INTO

INSERT INTO `table1` (`id1`,`nom`, `prenom`, `categorie`, `code1`) VALUES
(1, 'durant', 'andre', 'a', '001',),
(2, 'dupont', 'Jean', 'b', '002'),
(3, 'martin', 'Elodie', 'c', '003'),
(4, 'blanc', 'Dominique', 'd', '004'),
(5, 'rouge', 'Monique', 'e', '005'),
(6, 'vert', 'Francois', 'b', '006'),
(7, 'bleu', 'Fabien', 'a', '007'),
(8, 'noir', 'Jean', 'a', '008'),
(9, 'blanc', 'Marie', 'c', '009'),
INSERT INTO `table2` (`id2`, `groupe`, `code2`) VALUES
(1, '1', '001'),
(2, '1', '002'),
(3, '1', '003'),
(4, '2', '004'),
(5, '2', '005'),
(6, '2', '006'),
(7, '3', '007'),
(8, '3', '008'),
(9, '3', '009'),