Requête SQL
Résolu/Fermé
Mougeole
Messages postés
34
Date d'inscription
vendredi 11 novembre 2005
Statut
Membre
Dernière intervention
7 octobre 2006
-
17 mai 2006 à 09:09
Mougeole Messages postés 34 Date d'inscription vendredi 11 novembre 2005 Statut Membre Dernière intervention 7 octobre 2006 - 17 mai 2006 à 14:27
Mougeole Messages postés 34 Date d'inscription vendredi 11 novembre 2005 Statut Membre Dernière intervention 7 octobre 2006 - 17 mai 2006 à 14:27
A voir également:
- Requête SQL
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
- Sql server recovery - Télécharger - Gestion de données
- Il y a eu un problème avec cette requête. nous travaillons à sa résolution aussi vite que nous le pouvons. - Forum Facebook
- Logiciel sql - Télécharger - Bases de données
- Requête sql doublons sur 2 champs ✓ - Forum Programmation
3 réponses
Mougeole
Messages postés
34
Date d'inscription
vendredi 11 novembre 2005
Statut
Membre
Dernière intervention
7 octobre 2006
26
17 mai 2006 à 11:01
17 mai 2006 à 11:01
Salut
Merci pour ta réponse.
J'ai déjà essayer avec distinct ça ne marche pas.
Il existe une cellule 2 dans le service 1,2,3 et 4.
Du coup même avec un distinct il séléctionne
service 1
service 2
service 3
service 4
Merci pour ta réponse.
J'ai déjà essayer avec distinct ça ne marche pas.
Il existe une cellule 2 dans le service 1,2,3 et 4.
Du coup même avec un distinct il séléctionne
service 1
service 2
service 3
service 4
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
17 mai 2006 à 12:51
17 mai 2006 à 12:51
Bjr
Si tu as plusieurs cellules 2 alors c'est que CelluleID n'est pas une clé primaire ni à défaut unique : donc tu ne peux pas !
Tu dois obligatoirement préciser le id du service : d'ailleurs comment sais-tu de quelle "cellule 2" il s 'agit, comment la distingues-tu ?
Si tu ne connais pas l'ID du service .. y'a comme qui dirait un gros pb => mauvaise analyse : revoit le schéma de ta base de données et ajoute des clés primaires ... :-(
@+
Si tu as plusieurs cellules 2 alors c'est que CelluleID n'est pas une clé primaire ni à défaut unique : donc tu ne peux pas !
Tu dois obligatoirement préciser le id du service : d'ailleurs comment sais-tu de quelle "cellule 2" il s 'agit, comment la distingues-tu ?
SELECT NomService FROM CELLULES INNER JOIN SERVICES ON RefService = IdService WHERE NomCellule = Cellule 2 and IdService = xxx;
Si tu ne connais pas l'ID du service .. y'a comme qui dirait un gros pb => mauvaise analyse : revoit le schéma de ta base de données et ajoute des clés primaires ... :-(
@+
Mougeole
Messages postés
34
Date d'inscription
vendredi 11 novembre 2005
Statut
Membre
Dernière intervention
7 octobre 2006
26
17 mai 2006 à 13:27
17 mai 2006 à 13:27
Salut PhP
Tu n'a pas bien compris mon problème : IdCellule est bien une clé primaire unique.
Mais il n'y a pas qu'une seule cellule 2.
Chaque cellule contient des employés.
Il se trouve que si ces cellules ont le même nom, les employés de la cellule 2 service1 ne sont pas les mêmes que les employés de la cellule 2 service 2.
Et d'ailleurs chaque enregistrement et unique : il y a juste le champs RefService qui change.
Ensuite c'est vrai qu'il est plus propre de mettre l'IdService que le NomService dans la condition WHERE.
Mais le problème reste entier : comment récupérer cette IdService?
Tu n'a pas bien compris mon problème : IdCellule est bien une clé primaire unique.
Mais il n'y a pas qu'une seule cellule 2.
Chaque cellule contient des employés.
Il se trouve que si ces cellules ont le même nom, les employés de la cellule 2 service1 ne sont pas les mêmes que les employés de la cellule 2 service 2.
Et d'ailleurs chaque enregistrement et unique : il y a juste le champs RefService qui change.
Ensuite c'est vrai qu'il est plus propre de mettre l'IdService que le NomService dans la condition WHERE.
Mais le problème reste entier : comment récupérer cette IdService?
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
17 mai 2006 à 14:02
17 mai 2006 à 14:02
Oui j'avais zappé le coup des noms ...
Mais alors pourquoi puisque tu as une clé unqiue IDCellule ne l'utilises-tu pas à la place du nom ?
Dans le where tu fais : where IDCellule = xxxx
Maintenant c'est sûr que si tu ne connais aucune clé ni IDCellule ni IDService ... A quoi ca sert alors d'avoir mis des clés dans tes tables alors ? LOL
Tout ca pour dire que dans ton application tu dois conserver les clés quelque part même si tu ne les affiches pas.
Mais alors pourquoi puisque tu as une clé unqiue IDCellule ne l'utilises-tu pas à la place du nom ?
Dans le where tu fais : where IDCellule = xxxx
Maintenant c'est sûr que si tu ne connais aucune clé ni IDCellule ni IDService ... A quoi ca sert alors d'avoir mis des clés dans tes tables alors ? LOL
Tout ca pour dire que dans ton application tu dois conserver les clés quelque part même si tu ne les affiches pas.
Mougeole
Messages postés
34
Date d'inscription
vendredi 11 novembre 2005
Statut
Membre
Dernière intervention
7 octobre 2006
26
>
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
17 mai 2006 à 14:26
17 mai 2006 à 14:26
Ca c'est pas con!!
J'étais en train de chercher comment faire une concaténation du genre :
... WHERE NomService "concatène" NomCellule...
Alors que j'ai des clé primaire!!! (OU j'habite le soleil tape fort aujourd'hui)
Dans phpMyAdmin j'ai tester ça :
... et ça marche!
Fantastique.
Là j'ai mis l'IdCellule en dure mais je pense que dans un formulaire on peut récupérer cette Id avec un champ caché.
Merci encore
Salut
J'étais en train de chercher comment faire une concaténation du genre :
... WHERE NomService "concatène" NomCellule...
Alors que j'ai des clé primaire!!! (OU j'habite le soleil tape fort aujourd'hui)
Dans phpMyAdmin j'ai tester ça :
SELECT NomCellule, NomService FROM CELLULES INNER JOIN SERVICES ON RefService = IdService WHERE IdCellule = 9;
... et ça marche!
Fantastique.
Là j'ai mis l'IdCellule en dure mais je pense que dans un formulaire on peut récupérer cette Id avec un champ caché.
Merci encore
Salut
Mougeole
Messages postés
34
Date d'inscription
vendredi 11 novembre 2005
Statut
Membre
Dernière intervention
7 octobre 2006
26
>
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
17 mai 2006 à 14:27
17 mai 2006 à 14:27
Ca c'est pas con!!
J'étais en train de chercher comment faire une concaténation du genre :
... WHERE NomService "concatène" NomCellule...
Alors que j'ai des clé primaire!!! (OU j'habite le soleil tape fort aujourd'hui)
Dans phpMyAdmin j'ai tester ça :
... et ça marche!
Fantastique.
Là j'ai mis l'IdCellule en dure mais je pense que dans un formulaire on peut récupérer cette Id avec un champ caché.
Merci encore
Salut
J'étais en train de chercher comment faire une concaténation du genre :
... WHERE NomService "concatène" NomCellule...
Alors que j'ai des clé primaire!!! (OU j'habite le soleil tape fort aujourd'hui)
Dans phpMyAdmin j'ai tester ça :
SELECT NomCellule, NomService FROM CELLULES INNER JOIN SERVICES ON RefService = IdService WHERE IdCellule = 9;
... et ça marche!
Fantastique.
Là j'ai mis l'IdCellule en dure mais je pense que dans un formulaire on peut récupérer cette Id avec un champ caché.
Merci encore
Salut