requête SQL

Répondre
mougeole boiteux
le 17/05/2006 à 09:08
mougeole boiteux
Bonjour

J'ai un problème avec une requête SQL.

J'ai une table contenant des cellules et une table contenant des services

table CELLULES (IdCellule,NomCellule,RefCellule)

table SERVICES (IdService,NomService)

On note que RefService et une clé étrangère qui fait référence à la table SERVICES.

Je voudrai séléctionner le nom d'un service pour une cellule donnée

Voici ma requête:


SELECT NomService FROM CELLULES INNER JOIN SERVICES ON RefService = IdService WHERE NomCellule = Cellule 2;


Ce qui ne va pas dans cette requête c'est que si on a une cellule 2 dans le service 1 et une cellule 2 dans le service 2 (ce qui est possible) ma requête retoiurne 2 valeur. Or il m'enfaudrait une seule.


Est-ce que quelqu'un a une idée?

Merci d'avance.
mougeole boiteux
le 17/05/2006 à 09:48
mougeole boiteux
PS : J'ai fait une petite erreur dans l'énoncé.

Dans la table CELLULES, il s'agit du champs RefService et non pas RefCellule.

D'ailleurs aucun intérêt de faire référence à une cellule dans une table contenant des cellules. smiley
mougeole boiteux
le 17/05/2006 à 14:48
mougeole boiteux
Ca y est j'ai trouvé!

En fait c'est beaucoup plus simple que ça :

On a des clé primaire et unique pour identifier les services et les cellules. Ca implique qu'il y a, par exemple, une seul cellule 2 appartenant au service 3.

Voici la requête :


SELECT NomCellule, NomService FROM CELLULES INNER JOIN SERVICES ON RefService = IdService WHERE IdCellule = 9;



Et ça me retourne une seul cellule (Ici c'est la cellule 1 du service 3)
J'ai mis 9 pour test dans phpmyadmin.

Dans mes pages PHP, je récupère l'IdCellule dans un champ caché du formulaire : $_POST['IdCellule'].

Voilà

Salut
Bzh
le 17/05/2006 à 18:23
Bzh
Arf !!!
C'est fou comme un peu se sentir utile par fois .... smiley

Bonne continuation...
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours