Requete , where avec plusieurs conditions

mrmaskfr Messages postés 3 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 5 février 2010 - 19 janv. 2005 à 17:41
cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 - 23 janv. 2005 à 13:47
Bonjour,

j'ai une base sous sql serveur et une appli en VB

j'ai un table competencescv
format : identifiant,competences

Ex :
285857,anglais
285857,cobol
888857,asp
888857,j++

etc...
Je cherche l'identifiant de celui qui a pour competences : anglais et cobol soit 285857

j'ai testé plusieur choses je n'y suis pas arrivé appart avec un boucle
ou je repete :
AND (identifiant IN ( (SELECT identifiant FROM competencescv WHERE competences = '" & Trim(List1.List(i%)) & "')))"

mais c'est tres lourd et pas propre et avec 50 competences ....



SELECT * FROM competencescv
WHERE (competences IN ('anglais')) AND (competences IN ('cobol'))

ca ne fonctionne pas

merci de votre aide http://www.altbinnewsgroup.com/_bin/liste.php?country=fr&cat_id=20&page=1&pageby=30&new=44593

3 réponses

tump Messages postés 82 Date d'inscription dimanche 25 juillet 2004 Statut Membre Dernière intervention 6 avril 2006 1
19 janv. 2005 à 21:39
Je ne vais pas être d'une grande utilité, mais voici mon explication :
SQL effectue une lecture linéaire,
tu na jamais 2 competences sur la meme ligne
de cette façon, les 2 conditions ne sont jamais remplies ensemble

cela dit, je ne vois pas comment tu pourrais faire...

poum :-)
0
yassine_java Messages postés 32 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 3 juin 2005
19 janv. 2005 à 22:36
A mon avis la structure de la table ne doit pas etre comme ca depuis le debut,
ce ke tu dois faire c'est deux table : une pour les identifiants et autres informations .. et une autre pour les competences ; c'est ce ki est logique puisque une personne peut avoir une ou plusieurs competences donc ce ki demande l'existance d'une table "COMPETENCES" ..

bonne chance ..
0
cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
23 janv. 2005 à 13:47
Non pas 2 tables mais 3 :

2 tables de référence (Table personne et table competence)

1 table de correspondance (avec l'Id de la personne et l'Id de la compétence)



Pour mieu comprendre, je te conseille de regarder l'article suivant pour comprendre ce type de conception de base de données :

http://www.asp-php.net/tutorial/asp-php/conception_bd.php


Romelard Fabrice (Alias F___)
0
Rejoignez-nous