Requete SQL

daffy17 Messages postés 106 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 22 avril 2010 - 23 juin 2005 à 14:23
daffy17 Messages postés 106 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 22 avril 2010 - 23 juin 2005 à 16:53
bonjour a tous voila mes tables






----------------------



| entreprise |



-----------------------



| ent_num |



| ent_nom |

-----------------------


|

|

\ /

----------------------

| deroulement |

-----------------------

| der_num |

| der_contnum |

| der_entnum |

-----------------------

/ \


|

|


----------------------


| contact |


-----------------------


| cont_num |


| cont_nom |

| der_prenom |

-----------------------




je veux donc recuperer les contacts qui correspondent a l'entreprise selectionner

ainsi que les contact qui ne sont pas de realtion avec une entreprise



SELECT cont_nom,cont_nom,cont_prenom FROM contact

WHERE cont_num NOT IN (SELECT distinct der_contnum FROM deroulement



WHERE
der_entnum != entreprise_selectionné)



donc j'execute la requete via PhpMyadmin,
MySQL 4.0.24, et donc premiere chose bizarre, je suis obligé de mettre des quotes ou guillemet autour de ma sous-requete

et deuxieme chose bizarre, j'ai l'impression qu'il ne prend pas en
compte la fonction IN ou NOT IN car pour le note IN, il m'affiche tout
les contacts et pour le NOT IN,...ben...pareille.

Alors je voulais savoir si sa venait de moi ou bien de MySQL,



Merci d'avance car je dois finir cette intranet pour demain et
j'aimerai bien pouvoir faire ma note de synthese aussi (oulalala sa va
etre tendu).

3 réponses

DzinVolt_Original Messages postés 27 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 2 décembre 2005
23 juin 2005 à 16:14
Je pense que tu dois avoir ca:



$requete = "SELECT cont_nom,cont_nom,cont_prenom FROM contact WHERE cont_num
NOT IN (SELECT distinct der_contnum FROM deroulement WHERE der_entnum != entreprise_selectionné)";



es tu sur que "entreprise_selectionné" fonctionne bien ?

car si la variable ne repere aucune entreprise selectionné c normal que tu lé ai toutes.



Je ne sais pas si ca t'aidera mais j'aurais essayé.

D.zinVolt.
0
cs_Isengard Messages postés 83 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 10 février 2006
23 juin 2005 à 16:43
Déjà il faudrait un $ devant le nom de la variable ca marcherait mieux...

C'est quoi cette requete bourrée de fautes ?? Et cette table avec des nom de champs douteux ? O_o

Tu select deux fois sur le même champ et tu test sur des champs qui existent pas !



Euh en fait je comprend pas ce que tu veux : tu dis que tu veux
selectionner les contacts qui correspondent à l'entreprise selectionnée
et en meme temps ceux qui ne sont pas en relation avec elle... Tu les
veux tous en fait ou quoi ?


"Celui qui brise une chose pour découvrir ce que c'est a quitté le chemin de la sagesse"
0
daffy17 Messages postés 106 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 22 avril 2010
23 juin 2005 à 16:53
desoler pour les fautes et le $ mais j'ai ecris sa vite fait, c'est donc plus un oublie qu'une erreur.
en fait se qui me permet de faire la relation entre un contact et une entreprise passe par la table deroulement, je ne peux pas identifier directement un contact et avec l'entreprise.
dans le contexte c'est une gestion de stage pour des eleves ou contact est son maitre de stage.

SELECT cont_num,cont_nom,cont_prenom FROM contact
WHERE cont_num NOT IN (SELECT distinct der_contnum FROM deroulement WHERE der_entnum != $entreprise_selectionné)

donc je veux recupere les contact en relation avec l'entreprise selectionner a travers la table deroulement (ex: entreprise1 ---> contact1, contact2,etc...)
ainsi que les contact qui n'ont jamais été en relation avec une entreprise (qui viennent d'etre créer dans la table en fait)

ce qui va permettre a l'eleve de selectionner le contact existant pour l'entreprise ou bien le nouveau contact qu'il vient de creer.

il aurait été possible de simplifier la relation entre les deux tables entreprise et contact mais par manque de temps je suis obligé de les laisser comme ca
0
Rejoignez-nous