Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1299 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  aide pour une requete

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

aide pour une requete

n°1765406
casul
Posté le 27-07-2008 à 13:35:43  profilanswer
 

bonjour, tout le monde, j'aimerai de l'aide pour résoudre ce cas de requete sql s'il vous plait,  
j'ai une table (oracle) qui s'appelle "voiture" dans cette table j'ai d'un coté les  "modeles" (750i, 323, slr, q7, 600...)  d'un autre coté j'ai des "départements" associés a ces "modeles"  (92, 95, 77, 02, 89...)  
donc chaque "modeles" est rattaché a un seul "départements" à la fois mais un même "modeles" peut etre présent dans tout les "départements" (ex, il y a des "modeles" 750i "departements" 92, des "modeles" 750i "departements" 95, des 750i "departements" 02 etc...)
certains "modeles" sont donc présents dans tout les "départements", d'autres dans certains départements seulement (ex: il y a des q7 "départements" 95, des q7 "départements" 02, mais pas de q7 "départements" 89)
j'aimerai savoir si il est possible de faire un requête pour connaitre le ou les "modeles" qui sont présents dans tout les "départements" donc un résultat qui dirait que c'est  la 750i qui est présente dans tout les départements de france (ou a la fois la 750i, la 323, la 600 etc...)
je vous remercie beaucoup (bien sûr je suis un débutant vous l'aurez compris :) )

Message cité 1 fois
Message édité par casul le 27-07-2008 à 13:45:18
mood
Publicité
Posté le 27-07-2008 à 13:35:43  profilanswer
 

n°1765614
MagicBuzz
Posté le 27-07-2008 à 22:22:31  profilanswer
 

si tu as une table des départements, tu peux comparer un count(*) sur le département avec un cout(distinct departement_id) groupé par modèle.


Message édité par MagicBuzz le 27-07-2008 à 22:22:42
n°1765621
casul
Posté le 27-07-2008 à 22:31:58  profilanswer
 

merci, mais pas de table départements

n°1765674
theredled
● REC
Posté le 28-07-2008 à 00:44:29  profilanswer
 

casul a écrit :

bonjour, tout le monde, j'aimerai de l'aide pour résoudre ce cas de requete sql s'il vous plait,
j'ai une table (oracle) qui s'appelle "voiture" dans cette table j'ai d'un coté les  "modeles" (750i, 323, slr, q7, 600...)  d'un autre coté j'ai des "départements" associés a ces "modeles"  (92, 95, 77, 02, 89...)
donc chaque "modeles" est rattaché a un seul "départements" à la fois mais un même "modeles" peut etre présent dans tout les "départements" (ex, il y a des "modeles" 750i "departements" 92, des "modeles" 750i "departements" 95, des 750i "departements" 02 etc...)
certains "modeles" sont donc présents dans tout les "départements", d'autres dans certains départements seulement (ex: il y a des q7 "départements" 95, des q7 "départements" 02, mais pas de q7 "départements" 89)
j'aimerai savoir si il est possible de faire un requête pour connaitre le ou les "modeles" qui sont présents dans tout les "départements" donc un résultat qui dirait que c'est  la 750i qui est présente dans tout les départements de france (ou a la fois la 750i, la 323, la 600 etc...)
je vous remercie beaucoup (bien sûr je suis un débutant vous l'aurez compris :) )


Impossible comme ça pour une raison simple : imagine que tu n'ai que 3 lignes dans la table : une 750i dans le 01, une 600 dans le 01 et une 600 dans le 02. Comment savoir si la France n'a pas que 2 départements ? (dans ce cas la 600 serait présente dans tous les déps, 01 et 02)
Tu peux te dire "j'ai qu'à prendre en compte qu'il y a 98 départements" : non seulement c'est crade et pas trop dans l'esprit des BDD relationelles, mais surtout ya le 2A et le 2B, et ptet des numéros qui n'existent pas vers la fin (?)

 

Si tu veux savoir si une voiture est présente dans tous les départements, il te faut d'une façon ou d'une une liste de tous les départements existants (indépendante de cette table)

 

edit : ou *au pire* le nombre de départements dispos, et tu compare COUNT(DISTINCT departement) à celui-ci (cf MagicBuzz)


Message édité par theredled le 28-07-2008 à 00:47:27

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1766080
casul
Posté le 28-07-2008 à 20:34:45  profilanswer
 

bonjour
en fait tout les département ne sont pas forcement présents, admettons qu'il y ait 500 voiture au total (il peut y  avoir plusieurs 600, plusieurs 635,ou un modele en exemplaire unique...) chacun de ces modeles est rattaché a un departement (donc un même modele dans plusieurs département,  ou un modele absent d'un ou plusieurs département)
 
 ce qu'on veut c'est simplement les points commun: quel sont les département (peu importe leur nombre) qui possedent au moins un modele de chaque voiture
merci de votre aide


Message édité par casul le 28-07-2008 à 20:35:00
n°1766085
Scrypt
Posté le 28-07-2008 à 21:16:29  profilanswer
 

c'est ce qu'on appelle une division en sql, avec ici la particularité que tu la fais sur les champs d'une meme table donc il faut une synchronisation (réalisée grace aux alias+auto jointure)
 
pour la liste des voitures presentes dans tous les departements de la table:
 
select distinct modeles
from voiture v1
where not exists (select distinct departements
                        from voiture
                        MINUS
                        select distinct departements
                        from voiture v2
                        where v1.modeles=v2.modeles);
 
pour la liste des deps qui possedent tous les modeles de voiture:
 
select distinct departements
from voiture v1
where not exists (select distinct modeles
                        from voiture
                        MINUS
                        select distinct modeles
                        from voiture v2
                        where v1.departements=v2.departements);
 


Message édité par Scrypt le 28-07-2008 à 21:25:44
n°1766090
casul
Posté le 28-07-2008 à 21:24:38  profilanswer
 

je ne pourrai tester que demain, en tout cas merci beaucoup, je te tiens au courant

n°1767104
casul
Posté le 31-07-2008 à 06:28:25  profilanswer
 

merci beaucoup, j'ai pu m'en tirer avec ta requete
:)

n°1767143
Scrypt
Posté le 31-07-2008 à 09:49:07  profilanswer
 

de rien  :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  aide pour une requete

 

Sujets relatifs
besoin d'aide (avant 15h :/) requete SQL compliquéeaide pour une requête
besoin d'aide requete oracle ...AIDE requete SQL
Besoin d'aide pour une requête[RESOLU] aide pour une requête toute simple
[Résolu] Aide requête SQL: item n'appartenant pas à une catégoriePHP :Récupération d'une donnée à l'aide d'une requête
Aide pour une requetebesoin aide pour requête
Plus de sujets relatifs à : aide pour une requete


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR