division [POSTGRESQL] - Programmation
Marsh Posté le 14-12-2001 à 12:15:11
Il y a plusieurs façons de faire. 
Celle qui me vient le + rapidement à l'esprit : 
select client.* 
from client 
where numcli IN (select numcli from commande group by numcli having count(*)>1); 
 
C'est bourrin, mais ça devrait passer  
 
(En gros, il y a + subtil si tu as le temps de creuser) 
Marsh Posté le 14-12-2001 à 12:58:58
arg , je me suis gourré, je t'ai filé une requete que j'ai deja fait ( meme si la manière dont tu l'as fait est plus compacte ) 
Celle qui merde chez moi c'est celle la  
voici mes tables (allegées des champs qui n'interviennent pas ): 
 
client(numcli) 
contient(numlivre,numcom) 
livre(numlivre,numzone) 
zone(numzone,nomzone) 
commande(numcom,numcli); 
 
et jke cherche a savoir quels clients ( numcli ) ont commandé au moins un livre dans chaque zone. 
pour le moement ,j'en suis a compter les zone, compter le nombre de zone differente pour une commande puis comparere . 
C'est cele là qu'on peut faire avec une division , et que j'arrive pas ( ma requete est trop laide pour le moment ) 
 
Wons> desole encore pour le copier-coller desastreux. 
Marsh Posté le 14-12-2001 à 15:01:05
Euh, atta 
C'est + chaud là. 
Je serais toi, je ferais ça en 2 requêtes. 
Si tu peux créer des vues, je ferais : 
 
CREATE VIEW toto AS 
SELECT livre.numzone, contient.numcom 
FROM livre, contient 
WHERE contient.numlivre = livre.numlivre 
GROUP BY contient.numcom, livre.numzone; 
 
 
Et ma requête de sélection : 
 
SELECT commande.numcli 
FROM commande, toto 
WHERE commande.numcom = toto.numcom 
GROUP BY commande.numcli 
HAVING COUNT(*) = (SELECT COUNT(*) FROM zone); 
 
 
Par contre, je ne sais pas de quoi tu veux parler avec ta division... 
En espérant que ça te va  
  
 
Marsh Posté le 14-12-2001 à 16:11:52
trop tard . 
merci quand meme , mais la dead line est depassé.  
 
merci kan meme 
Marsh Posté le 14-12-2001 à 16:13:46
Ah... bah désolé pour la deadline.  
 
 
Mais ça marche-t-y au moins ? 
Pour savoir si je me suis pris le crane pendant 20 minutes pour rien ou pas  
 
Marsh Posté le 14-12-2001 à 10:52:13
je dois faire une BD pour une librairie
j'ai les relations suivantes:
client(numcli,nomcli,addrcli,telcli,mel)
commande(numcom,datecom,aregler,numcli*)
je veux les client ayant passé plus de 2 commandes ,donc c'est une division ( si j'ai compris ) , mais lepb , c'est que je n'arrove pa a la mettre en place
merci , ce projet est a rendre ce soir , et ca fait 2 our que je suis sur cette requête ( heureusement que c'est la derniere )
---------------