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

  FORUM HardWare.fr
  Programmation

  [SQL] Help pour 1 requête !!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL] Help pour 1 requête !!

n°41678
Alysum
Dark side of the light
Posté le 21-06-2001 à 12:04:45  profilanswer
 

Salut,
 
J'ai des difficultés à trouver la requête suivante:
 
Quels sont les voyages (identifiant et libellé) qui incluent une étape traversant une frontière ?
 
tables:
 
VOYAGE(idVoy, Libelle, Durée)
ETAPE(idVoy, Numetep, Type_Transport, id_Ville_Dep, id_Ville_Arr )
VILLE(id_Ville, Nom_Ville, NomPays )
PAYS(NomPays, Zone_Geo)
 
NB: le parcours de la france à la 1ere ville du pays n'est pas considére comme une etape. Par ex Paris-Rio et Rio-Paris ne figurent pas dans la table etape.
 
 :jap:

mood
Publicité
Posté le 21-06-2001 à 12:04:45  profilanswer
 

n°41685
Fred999
Rabat-joie
Posté le 21-06-2001 à 12:30:39  profilanswer
 

Code :
  1. select   distinct voyage.Libelle
  2. from
  3.          VOYAGE        voy,
  4.          ETAPE         eta,
  5.          ville         v_d,
  6.          ville         v_a
  7. where
  8.          eta.idVoy     = voy.idVoy
  9. and
  10.          eta.Numetep   != 1
  11. and
  12.          eta.Numetep   != (select   max(eta2.Numetep)
  13.                            from
  14.                                     ETAPE       eta2
  15.                            where
  16.                                     eta2.idVoy  = voy2.idVoy)
  17. and
  18.          v_d.id_Ville  = eta.id_Ville_Dep
  19. and
  20.          v_a.id_Ville  = eta.id_Ville_Arr
  21. and
  22.          v_d.NomPays   != v_a.NomPays


 
Bon, je dirais ça... Le select imbriqué n'est pas très joli mais bon je vais pas non plus y passer des heures, j'ai une proc (une VRAIE, pas un truc d'étudiant ;)) à modifier en urgence :D
 
Si tu veux plus de détails, demande.

n°41689
nbvcxwqaze​rty
Posté le 21-06-2001 à 12:41:48  profilanswer
 

enquel langag?

n°41691
Fred999
Rabat-joie
Posté le 21-06-2001 à 12:45:44  profilanswer
 

C'est dans le titre : SQL!!!

n°41695
nbvcxwqaze​rty
Posté le 21-06-2001 à 12:51:39  profilanswer
 

Fred999 a écrit a écrit :

C'est dans le titre : SQL!!!  




 
arf desolé

n°41697
Alysum
Dark side of the light
Posté le 21-06-2001 à 13:02:04  profilanswer
 

merci, mais ca veut dire quoi le ! ?

n°41699
nbvcxwqaze​rty
Posté le 21-06-2001 à 13:04:00  profilanswer
 

Alysum a écrit a écrit :

merci, mais ca veut dire quoi le ! ?  




 
!= veut dire different de

n°41704
Fred999
Rabat-joie
Posté le 21-06-2001 à 13:14:55  profilanswer
 

Alysum > Ca t'arrive d'aller en cours???
 
!= c'est la base... et le SQL n'est jamais le premier langage que tu apprends!!!

n°41707
wouatouwou​atou
Posté le 21-06-2001 à 13:41:21  profilanswer
 

il me semble que le different c <> et pas !=
:D
 
Pi t'as oublié kil voulait aussi l'id :D
 
Pi kest ce ke tu entend par frontiere ? definit ce ke c kune frontiere ... et la tu auras les conditions a mettre dans ta clause where !!!!

 

[edit]--Message édité par wouatouwouatou--[/edit]

n°41722
Fred999
Rabat-joie
Posté le 21-06-2001 à 14:05:33  profilanswer
 

<> et != signifient la même chose, ensuite ça dépend du langage.

mood
Publicité
Posté le 21-06-2001 à 14:05:33  profilanswer
 

n°41726
wouatouwou​atou
Posté le 21-06-2001 à 14:18:30  profilanswer
 

une requete pour recuperer les voyages dont au moins une etape passe d'un pays a un autre:
 

Code :
  1. select voy.idVoy,
  2.        voy.libelle,
  3.        count(etap.numetep)
  4. from etape etap,
  5.      ville v_dep,
  6.      ville v_arr,
  7.      voyage voy
  8. where v_dep.id_Ville=etap.id_Ville_Dep
  9.       AND v_arr.id_Ville=etap.id_Ville_Arr
  10.       AND v_dep.nomPays<>v_arr.nomPays
  11.       AND voy.idVoy=etap.idVoy
  12. group by voy.idVoy,
  13.          voy.libelle


 
Mais reste a voir si elle est correcte :D

n°41733
Fred999
Rabat-joie
Posté le 21-06-2001 à 14:32:26  profilanswer
 

wouatou >
 
Ca fait plaisir de voir que tu lis les posts de tout le monde, en particulier les miens :D
 
Sinon, pour ta requête :
 
- je ne vois pas ce qu'un count() vient faire dans l'histoire, sans le count ça irait aussi!!!
- il a dit que les premières et dernières étapes ne comptaient pas comme franchissement de frontière... C'est pourquoi j'ai rajouté deux critères.
- t'as une indentation de goret :D

n°41883
wouatouwou​atou
Posté le 21-06-2001 à 20:41:33  profilanswer
 

hihi. j'avais pas compris pkoi il voulait pas compter rio-paris et paris-rio... Je croyais ke c t pour brouiller les pistes :D
 
pi c vrai ke le count est inutile.. enfin presque... fo le virer avec le group by et mettre un distinct a la place...
 
Mais sinon pour le truc des premiere et derniere etapes.. ben de toute facon, il sont pas dans la table ETAPE alors ... :sarcastic:
 
l'indentation vient du copier/coller :D


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

  [SQL] Help pour 1 requête !!

 

Sujets relatifs
SQL: trouver la date du premier et du dernier jour d'un moisSQL: jours ouvrés d'une pèriode
Pb tout con : html et php please help me[SQL] Merci de m'aider à faire cette requete... facile pour un pro ;)
VB - Word! Help![MYSQL] comment faire cette requete
[SQL] HELP sur une requête SQL 
Plus de sujets relatifs à : [SQL] Help pour 1 requête !!


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