pourquoi cette requête ne fonctionne pas ?

Le
JC
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 de=
s
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 j=
e
crois. Est-ce moi ? est-ce SQL ? est-ce Windev (version 12) ?

Merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
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