Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/05/2011, 14h33   #1
Invité de passage
 
Homme
Inscription : mai 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mai 2011
Messages : 2
Points : 0
Points : 0
Par défaut Sélectionner certaines données uniquement

Bonjour, tout d'abord merci du temps que vous voudrez bien accorder à mon problème

Donc durant mon stage je suis amené à partir de 2 fichiers excel que j'importe dans des bases à effectuer différentes requêtes dessus. Jusque là, pas de problème, sauf que je bloque sur un point que je ne trouve nulle part, même en le formulant de différentes façons sur google. Le voici :

Dans une de mes tables j'ai 2 champs : un champ " famille " et un champ " type_de_travail". Le fait est que je ne dois sélectionner, par exemple, que certaines type_de_travail en fonction des familles.
Par exemple, pour la famille "robinet", je ne devrais prendre en compte dans ma requête que lorsque le champ " type_de_travail"=INS
de même pour la famille SIN qui ne devra prendra que les INS
la famille PDR que lorsque type_de_travail sera à MSG etc...

Le problème est que donc si par exemple je fait un where famille=ROB= and territoire=INS je n'aurais donc plus les autres types famille
Si besoin, je peux montrer à quoi ressemble les différentes tables et différentes requêtes déjà utilisés

Sachant que par exemple la première requête utilisée pour parcourir les boucles et faire les autres requêtes ( celles sur laquelle nous rajouterons nos différentes précisions je pense) a la tête suivante:
Code :
1
2
3
4
5
6
SELECT agence,YEAR(date_de_ref),count(ordre) AS number,territoire,MONTH(date_de_ref),ot_planifies,ot_realises 
	 FROM psi_reporting
     INNER JOIN psi_iw38 ON psi_reporting.ordre_de_travail=psi_iw38.ordre
     INNER JOIN repertor_carto ON psi_reporting.territoire=repertor_carto.id_centre 
	 WHERE YEAR(date_de_ref)='$anne_cours' AND territoire=id_centre 
	 GROUP BY agence
Désolé si cela paraît affreusement vaste et flou ,c'est la première fois que j'utilise un forum d'aide et je suis complétement perdu... =/

Bonne journée
nrgyz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 17h17   #2
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 530
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

Informations professionnelles :
Activité : Retraité
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2005
Messages : 2 530
Points : 3 523
Points : 3 523
Saluton,
A priori, il te faut coupler toutes ces conditions avec des OR.
EX
Code sql :
1
2
3
4
WHERE (famille IN("robinet", "SIN ") AND type_de_travail="INS")
OR
(famille="PDR " AND type_de_travail="MSG")
OR  etc...
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
articles : Comment émuler un tableau croisé [quasi] dynamique
et : Une énigme mathématique résolue avec MySQL
recommande l'utilisation de PDO (PHP5 Data Objects)
Maljuna Kris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 14h07   #3
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Vous n'avez pas de table liant vos familles et vos types de travaux ?
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 21h31   #4
Invité de passage
 
Homme
Inscription : mai 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mai 2011
Messages : 2
Points : 0
Points : 0
A priori, il te faut coupler toutes ces conditions avec des OR

>>Merci majhuna ^^', oui je pense que vus le contexte actuel des bases, cela semble être la seule solution, je n'y avais pas pensé à utiliser les OR de la sorte c'est effectivement un bon moyen de " contourner " le probléme

>>Pour répondre à yanika non on a pas de table permettant de lié les familles aux types de travaux, mais je peux la créer la moi même au besoin, cela rendrait t'il la solution plus simple et plus " professionel" si je leur créer une base permettant de les relier?

Merci beaucoup d'avoir pris un peu de votre temps pour vous penchez sur mon probléme vous deux

edit: Desolé également pour la balise de code, c'est noté je l'utiliserais la prochaine fois ^^'

Bonne soirée
nrgyz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h41.


 
 
 
 
Partenaires

Hébergement Web