PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Requête avec paramètres
Requête avec paramètres
Débuté par Robert, 15 jan. 2007 13:54 - 3 réponses
Posté le 15 janvier 2007 - 13:54
Bonjour

J'ai essayé cette requête :

Afficher tous les D1, D2, D3, D4, D5, D6, QUEST et Answer tels que ( D1 est égal à D1P1 OU D1 est égal à D1P2 OU D1 est égal à D1P3 OU D1 est égal à D1P4 ) ET ( D2 est égal à D2P1 OU D2 est égal à D2P2 OU D2 est égal à D2P3 OU D2 est égal à D2P4 OU D2 est égal à D2P5 ) ET ( D3 est égal à D3P1 OU D3 est égal à D3P2 OU D3 est égal à D3P3 OU D3 est égal à D3P4 OU D3 est égal à D3P5 ) ET ( D4 est égal à D4P1 OU D4 est égal à D4P2 OU D4 est égal à D4P3 OU D4 est égal à D4P4 OU D4 est égal à D4P5 ) ET ( D5 est égal à D5P1 OU D5 est égal à D5P2 OU D5 est égal à D5P3 ) ET ( D6 est égal à D6P1 OU D6 est égal à D6P2 ) ET QUEST est égal à 'OQUEST' .

Cette requête est extrêment lente, j'aimerai en fait filtrer une table à chaque modification d'un critère, et je voulais utiliser cette requête pour remplir la table.
Si j'enlève tous les paramètres D3 et D4 alors la requête s'exécute rapidement.

Qn a-t-il une idée, merci
Posté le 15 janvier 2007 - 14:54
Bonjour,

Pourrais tu envoyer le code sql plutot que ca pour que ce soit un peu plus
lisible stp merci...

Philippe

"Robert" <robert@luxpost.com> a écrit dans le message de news:
45ab6527$1@news.pcsoft.fr...

Bonjour

J'ai essayé cette requête :

Afficher tous les D1, D2, D3, D4, D5, D6, QUEST et Answer tels que ( D1
est égal à D1P1 OU D1 est égal à D1P2 OU D1 est égal à D1P3 OU D1 est
égal à D1P4 ) ET ( D2 est égal à D2P1 OU D2 est égal à D2P2 OU D2 est
égal à D2P3 OU D2 est égal à D2P4 OU D2 est égal à D2P5 ) ET ( D3 est
égal à D3P1 OU D3 est égal à D3P2 OU D3 est égal à D3P3 OU D3 est égal
à D3P4 OU D3 est égal à D3P5 ) ET ( D4 est égal à D4P1 OU D4 est égal à
D4P2 OU D4 est égal à D4P3 OU D4 est égal à D4P4 OU D4 est égal à
D4P5 ) ET ( D5 est égal à D5P1 OU D5 est égal à D5P2 OU D5 est égal à
D5P3 ) ET ( D6 est égal à D6P1 OU D6 est égal à D6P2 ) ET QUEST est
égal à 'OQUEST' .

Cette requête est extrêment lente, j'aimerai en fait filtrer une table à
chaque modification d'un critère, et je voulais utiliser cette requête
pour remplir la table.
Si j'enlève tous les paramètres D3 et D4 alors la requête s'exécute
rapidement.

Qn a-t-il une idée, merci
Posté le 15 janvier 2007 - 15:04
voici le code SQL

SELECT
U.D1 AS D1,
U.D2 AS D2,
U.D3 AS D3,
U.D4 AS D4,
U.D5 AS D5,
U.D6 AS D6,
O.QUEST AS QUEST,
O.Answer AS Answer
FROM
U,
O
WHERE
U.intnum = O.INTNUMBER
AND
(
O.QUEST = {OQUEST}
AND
(
U.D3 = {D3P1}
OR U.D3 = {D3P2}
OR U.D3 = {D3P3}
OR U.D3 = {D3P4}
OR U.D3 = {D3P5}
)
AND
(
U.D4 = {D4P1}
OR U.D4 = {D4P2}
OR U.D4 = {D4P3}
OR U.D4 = {D4P4}
OR U.D4 = {D4P5}
)
AND
(
U.D1 = {D1P1}
OR U.D1 = {D1P2}
OR U.D1 = {D1P3}
OR U.D1 = {D1P4}
)
AND
(
U.D2 = {D2P1}
OR U.D2 = {D2P2}
OR U.D2 = {D2P3}
OR U.D2 = {D2P4}
OR U.D2 = {D2P5}
)
AND
(
U.D5 = {D5P1}
OR U.D5 = {D5P2}
OR U.D5 = {D5P3}
)
AND
(
U.D6 = {D6P1}
OR U.D6 = {D6P2}
)
)
Posté le 15 janvier 2007 - 15:27
Tes rubriques U.D3 et U.D4 sont elles des rubrques clés?

"Robert" <robert@luxpost.com> a écrit dans le message de news:
45ab7a92$1@news.pcsoft.fr...

voici le code SQL

SELECT
U.D1 AS D1,
U.D2 AS D2,
U.D3 AS D3,
U.D4 AS D4,
U.D5 AS D5,
U.D6 AS D6,
O.QUEST AS QUEST,
O.Answer AS Answer
FROM
U,
O
WHERE
U.intnum = O.INTNUMBER
AND
(
O.QUEST = {OQUEST}
AND
(
U.D3 = {D3P1}
OR U.D3 = {D3P2}
OR U.D3 = {D3P3}
OR U.D3 = {D3P4}
OR U.D3 = {D3P5}
)
AND
(
U.D4 = {D4P1}
OR U.D4 = {D4P2}
OR U.D4 = {D4P3}
OR U.D4 = {D4P4}
OR U.D4 = {D4P5}
)
AND
(
U.D1 = {D1P1}
OR U.D1 = {D1P2}
OR U.D1 = {D1P3}
OR U.D1 = {D1P4}
)
AND
(
U.D2 = {D2P1}
OR U.D2 = {D2P2}
OR U.D2 = {D2P3}
OR U.D2 = {D2P4}
OR U.D2 = {D2P5}
)
AND
(
U.D5 = {D5P1}
OR U.D5 = {D5P2}
OR U.D5 = {D5P3}
)
AND
(
U.D6 = {D6P1}
OR U.D6 = {D6P2}
)
)