pourquoi cette requête ne fonctionne pas ?

Le
JC
Bonjour

Je ne comprends pas pourquoi ma requte SQL ne marche pas. Je suppose
que a vient de moi, mais jaimerais quon mexplique mon erreur.

Mon projet gre des diapositives numrises auxquelles jassocie de=
s
mots-cls. Une photo a plusieurs mots-cls, et un mot-cl a plusieurs
photos.

Lanalyse du projet est la suivante :
Diapositives (Numro, Titre) 0,n>1,1 Diapositive_MotCl (UnMot,
Numro_Diapositive, IDDiapositive_Motcl) 1,1 <-0,n MotCl
(UnMotCl)

Cls :
- Diapositives : Numro (cl numrique unique)
- Diapositive_MotCl : UnMot (cl texte avec doublons),
Numro_Diapositive (cl numrique avec doublons), IDDiapositive_Motcl=

(cl compose UnMot+Numro_Diapositive)
- MotCl : UnMotCl (cl texte unique)

La requte ci-dessous fonctionne trs bien. Elle me renvoie bien
toutes les diapositives qui ont un mot-cl contenant en, comme
renard , jument , etc.
SELECT
Diapositive.Numro AS Numro,
Diapositive.Titre AS Titre,
Diapositive_MotCl.UnMot AS UnMot,
MotCl.UnMotCl AS UnMotCl
FROM
Diapositive,
Diapositive_MotCl,
MotCl
WHERE
Diapositive_MotCl.Numro_Diapositive = Diapositive.Numro
AND Diapositive_MotCl.UnMot = MotCl.UnMotCl
AND
(
Diapositive_MotCl.UnMot LIKE '%en%'
)


Par contre, la requte ci-dessous ne renvoie aucun rsultat.
Pourquoi ??? La dmarche est la mme que ci-dessus, sauf que je
slectionne directement dans le fichier MotCl plutt que dans le
fichier de liaison. (pour info, seule la ligne avec LIKE est
diffrente)
SELECT
Diapositive.Numro AS Numro,
Diapositive.Titre AS Titre,
Diapositive_MotCl.UnMot AS UnMot,
MotCl.UnMotCl AS UnMotCl
FROM
Diapositive,
Diapositive_MotCl,
MotCl
WHERE
Diapositive_MotCl.Numro_Diapositive = Diapositive.Numro
AND Diapositive_MotCl.UnMot = MotCl.UnMotCl
AND
(
MotCl.UnMotCl LIKE '%en%'
)


Si vous pouvez mexpliquer o est lerreur, japprendrai beaucoup j=
e
crois. Est-ce moi ? est-ce SQL ? est-ce Windev (version 12) ?

Merci d'avance
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
patrice
Le #18632891
a priori ca devrai
maintenant , peut etre vérifier si y'a pas une histoire d'indifférence au
minuscule qui serait pas la meme selon les clé
au pire, pendre un requeteur sql qqelconque (différent de windev) et le
lancer sur la base sql pour voir comment ca se comporte.

"JC" news:
Bonjour

Je ne comprends pas pourquoi ma requête SQL ne marche pas. Je suppose
que ça vient de moi, mais j’aimerais qu’on m’explique mon erreur.

Mon projet gére des diapositives numérisées auxquelles j’associe des
mots-clés. Une photo a plusieurs mots-clés, et un mot-clé a plusieurs
photos.

L’analyse du projet est la suivante :
Diapositives (Numéro, Titre) 0,n--->1,1 Diapositive_MotClé (UnMot,
Numéro_Diapositive, IDDiapositive_Motclé) 1,1 <----0,n MotClé
(UnMotClé)

Clés :
- Diapositives : Numéro (clé numérique unique)
- Diapositive_MotClé : UnMot (clé texte avec doublons),
Numéro_Diapositive (clé numérique avec doublons), IDDiapositive_Motclé
(clé composée UnMot+Numéro_Diapositive)
- MotClé : UnMotClé (clé texte unique)

La requête ci-dessous fonctionne très bien. Elle me renvoie bien
toutes les diapositives qui ont un mot-clé contenant ‘en’, comme «
renard », « jument », etc.
SELECT
Diapositive.Numéro AS Numéro,
Diapositive.Titre AS Titre,
Diapositive_MotClé.UnMot AS UnMot,
MotClé.UnMotClé AS UnMotClé
FROM
Diapositive,
Diapositive_MotClé,
MotClé
WHERE
Diapositive_MotClé.Numéro_Diapositive = Diapositive.Numéro
AND Diapositive_MotClé.UnMot = MotClé.UnMotClé
AND
(
Diapositive_MotClé.UnMot LIKE '%en%'
)


Par contre, la requête ci-dessous ne renvoie aucun résultat.
Pourquoi ??? La démarche est la même que ci-dessus, sauf que je
sélectionne directement dans le fichier MotClé plutôt que dans le
fichier de liaison. (pour info, seule la ligne avec LIKE est
différente)
SELECT
Diapositive.Numéro AS Numéro,
Diapositive.Titre AS Titre,
Diapositive_MotClé.UnMot AS UnMot,
MotClé.UnMotClé AS UnMotClé
FROM
Diapositive,
Diapositive_MotClé,
MotClé
WHERE
Diapositive_MotClé.Numéro_Diapositive = Diapositive.Numéro
AND Diapositive_MotClé.UnMot = MotClé.UnMotClé
AND
(
MotClé.UnMotClé LIKE '%en%'
)


Si vous pouvez m’expliquer où est l’erreur, j’apprendrai beaucoup je
crois. Est-ce moi ? est-ce SQL ? est-ce Windev (version 12) ?

Merci d'avance
Publicité
Poster une réponse
Anonyme