Bonjour,

J'utilise mysql et une partie de mon schéma est le suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE `client` (
  `clinum` bigint(20) NOT NULL,
  `clinom` varchar(20) NOT NULL,
  `cliadr` varchar(30) NOT NULL,
  `clivil` varchar(20) NOT NULL,
  PRIMARY KEY (`clinum`)
)
 
CREATE TABLE  `commande` (
  `comnum` bigint(20) NOT NULL,
  `comdat` date NOT NULL,
  `clinum` bigint(20) NOT NULL,
  PRIMARY KEY (`comnum`)
)
Je dispose d'une vue consistant à déterminer le client ayant émis le plus grand nombre de commande.
Cependant, je dois absolument trouver une alternative à la vue suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
create view nbcomcli
(num, nbre)
as select clinum, count(*)
from commande
group by clinum
Ensuite j'utilise la vue afin de déterminer le client ayant passer le plus grand nombre de commande.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
select clinum, clinom, nbre
from client, nbcomcli
where clinum = num and nbre = (select max(nbre) from nbcomcli)
**************

J'ai essayé ce code sans succès:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
select clinum, clinom, max(nb)  from 
(select clinum, count(*) from commande group by clinum) as nb
from client
Merci d'avance pour votre aide.