bonjour
voici le code sql d'une req :
SELECT *
FROM T_CLIENT
WHERE T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_CLIENT.CL_ID in
(
SELECT T_CLIENT.CL_ID,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID
[
union
SELECT T_CLIENT.CL_ID,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID
]
)
ORDER BY T_CLIENT.CL_RAISON_SOCIALE ASC
1 - celle-ci s'execute en moins de 7 sec (très gros volume de données)
2 - si j'enlève tout ce qui est entre [] le temps passe à + de 20 sec
qq'un saurait me dire pourquoi car il me semble qu'elle devrait être plus
rapide dans le 2ème cas
bonjour
voici le code sql d'une req :
SELECT *
FROM T_CLIENT
WHERE T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_CLIENT.CL_ID in
(
SELECT T_CLIENT.CL_ID,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID
[
union
SELECT T_CLIENT.CL_ID,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID
]
)
ORDER BY T_CLIENT.CL_RAISON_SOCIALE ASC
1 - celle-ci s'execute en moins de 7 sec (très gros volume de données)
2 - si j'enlève tout ce qui est entre [] le temps passe à + de 20 sec
qq'un saurait me dire pourquoi car il me semble qu'elle devrait être plus
rapide dans le 2ème cas
bonjour
voici le code sql d'une req :
SELECT *
FROM T_CLIENT
WHERE T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_CLIENT.CL_ID in
(
SELECT T_CLIENT.CL_ID,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID
[
union
SELECT T_CLIENT.CL_ID,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID
]
)
ORDER BY T_CLIENT.CL_RAISON_SOCIALE ASC
1 - celle-ci s'execute en moins de 7 sec (très gros volume de données)
2 - si j'enlève tout ce qui est entre [] le temps passe à + de 20 sec
qq'un saurait me dire pourquoi car il me semble qu'elle devrait être plus
rapide dans le 2ème cas
ne serait-ce pas un problème de jointure, en effet dans la 2eme tu fais une
jointure par le WHERE, il faudrait utiliser [LEFT] JOIN ... ON
ne serait-ce pas un problème de jointure, en effet dans la 2eme tu fais une
jointure par le WHERE, il faudrait utiliser [LEFT] JOIN ... ON
ne serait-ce pas un problème de jointure, en effet dans la 2eme tu fais une
jointure par le WHERE, il faudrait utiliser [LEFT] JOIN ... ON
bonjour
voici le code sql d'une req :
SELECT *
FROM T_CLIENT
WHERE T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_CLIENT.CL_ID in
(
SELECT T_CLIENT.CL_ID,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID
[
union
SELECT T_CLIENT.CL_ID,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID
]
)
ORDER BY T_CLIENT.CL_RAISON_SOCIALE ASC
1 - celle-ci s'execute en moins de 7 sec (très gros volume de données)
2 - si j'enlève tout ce qui est entre [] le temps passe à + de 20 sec
qq'un saurait me dire pourquoi car il me semble qu'elle devrait être
plus rapide dans le 2ème cas
bonjour
voici le code sql d'une req :
SELECT *
FROM T_CLIENT
WHERE T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_CLIENT.CL_ID in
(
SELECT T_CLIENT.CL_ID,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID
[
union
SELECT T_CLIENT.CL_ID,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID
]
)
ORDER BY T_CLIENT.CL_RAISON_SOCIALE ASC
1 - celle-ci s'execute en moins de 7 sec (très gros volume de données)
2 - si j'enlève tout ce qui est entre [] le temps passe à + de 20 sec
qq'un saurait me dire pourquoi car il me semble qu'elle devrait être
plus rapide dans le 2ème cas
bonjour
voici le code sql d'une req :
SELECT *
FROM T_CLIENT
WHERE T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_CLIENT.CL_ID in
(
SELECT T_CLIENT.CL_ID,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID
[
union
SELECT T_CLIENT.CL_ID,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID
]
)
ORDER BY T_CLIENT.CL_RAISON_SOCIALE ASC
1 - celle-ci s'execute en moins de 7 sec (très gros volume de données)
2 - si j'enlève tout ce qui est entre [] le temps passe à + de 20 sec
qq'un saurait me dire pourquoi car il me semble qu'elle devrait être
plus rapide dans le 2ème cas
bonjour
voici le code sql d'une req :
SELECT *
FROM T_CLIENT
WHERE T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_CLIENT.CL_ID in
(
SELECT T_CLIENT.CL_ID,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID
[
union
SELECT T_CLIENT.CL_ID,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID
]
)
ORDER BY T_CLIENT.CL_RAISON_SOCIALE ASC
1 - celle-ci s'execute en moins de 7 sec (très gros volume de données)
2 - si j'enlève tout ce qui est entre [] le temps passe à + de 20 sec
qq'un saurait me dire pourquoi car il me semble qu'elle devrait être plus
rapide dans le 2ème cas
--
Cordialement JeAn-PhI
bonjour
voici le code sql d'une req :
SELECT *
FROM T_CLIENT
WHERE T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_CLIENT.CL_ID in
(
SELECT T_CLIENT.CL_ID,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID
[
union
SELECT T_CLIENT.CL_ID,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID
]
)
ORDER BY T_CLIENT.CL_RAISON_SOCIALE ASC
1 - celle-ci s'execute en moins de 7 sec (très gros volume de données)
2 - si j'enlève tout ce qui est entre [] le temps passe à + de 20 sec
qq'un saurait me dire pourquoi car il me semble qu'elle devrait être plus
rapide dans le 2ème cas
--
Cordialement JeAn-PhI
bonjour
voici le code sql d'une req :
SELECT *
FROM T_CLIENT
WHERE T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_CLIENT.CL_ID in
(
SELECT T_CLIENT.CL_ID,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID
[
union
SELECT T_CLIENT.CL_ID,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID
]
)
ORDER BY T_CLIENT.CL_RAISON_SOCIALE ASC
1 - celle-ci s'execute en moins de 7 sec (très gros volume de données)
2 - si j'enlève tout ce qui est entre [] le temps passe à + de 20 sec
qq'un saurait me dire pourquoi car il me semble qu'elle devrait être plus
rapide dans le 2ème cas
--
Cordialement JeAn-PhI
Pierre BOUSQUET avait écrit le 31/01/2007 :ne serait-ce pas un problème de jointure, en effet dans la 2eme tu fais une
jointure par le WHERE, il faudrait utiliser [LEFT] JOIN ... ON
[CUT]
dans les 2 cas la jointure est dans le where et je ne veux pas de left join
car je veux uniquement les client qui ont une facture et ou un avoir
Pierre BOUSQUET avait écrit le 31/01/2007 :
ne serait-ce pas un problème de jointure, en effet dans la 2eme tu fais une
jointure par le WHERE, il faudrait utiliser [LEFT] JOIN ... ON
[CUT]
dans les 2 cas la jointure est dans le where et je ne veux pas de left join
car je veux uniquement les client qui ont une facture et ou un avoir
Pierre BOUSQUET avait écrit le 31/01/2007 :ne serait-ce pas un problème de jointure, en effet dans la 2eme tu fais une
jointure par le WHERE, il faudrait utiliser [LEFT] JOIN ... ON
[CUT]
dans les 2 cas la jointure est dans le where et je ne veux pas de left join
car je veux uniquement les client qui ont une facture et ou un avoir
bonjour
voici le code sql d'une req :
SELECT *
FROM T_CLIENT
WHERE T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_CLIENT.CL_ID in
(
SELECT T_CLIENT.CL_ID,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID
[
union
SELECT T_CLIENT.CL_ID,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID
]
)
ORDER BY T_CLIENT.CL_RAISON_SOCIALE ASC
1 - celle-ci s'execute en moins de 7 sec (très gros volume de données)
2 - si j'enlève tout ce qui est entre [] le temps passe à + de 20 sec
qq'un saurait me dire pourquoi car il me semble qu'elle devrait être plus
rapide dans le 2ème cas
bonjour
voici le code sql d'une req :
SELECT *
FROM T_CLIENT
WHERE T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_CLIENT.CL_ID in
(
SELECT T_CLIENT.CL_ID,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID
[
union
SELECT T_CLIENT.CL_ID,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID
]
)
ORDER BY T_CLIENT.CL_RAISON_SOCIALE ASC
1 - celle-ci s'execute en moins de 7 sec (très gros volume de données)
2 - si j'enlève tout ce qui est entre [] le temps passe à + de 20 sec
qq'un saurait me dire pourquoi car il me semble qu'elle devrait être plus
rapide dans le 2ème cas
bonjour
voici le code sql d'une req :
SELECT *
FROM T_CLIENT
WHERE T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_CLIENT.CL_ID in
(
SELECT T_CLIENT.CL_ID,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID
[
union
SELECT T_CLIENT.CL_ID,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID
]
)
ORDER BY T_CLIENT.CL_RAISON_SOCIALE ASC
1 - celle-ci s'execute en moins de 7 sec (très gros volume de données)
2 - si j'enlève tout ce qui est entre [] le temps passe à + de 20 sec
qq'un saurait me dire pourquoi car il me semble qu'elle devrait être plus
rapide dans le 2ème cas
JeAn-PhI a utilisé son clavier pour écrire :bonjour
voici le code sql d'une req :
SELECT *
FROM T_CLIENT
WHERE T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_CLIENT.CL_ID in
(
SELECT T_CLIENT.CL_ID,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID
[
union
SELECT T_CLIENT.CL_ID,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID
]
)
ORDER BY T_CLIENT.CL_RAISON_SOCIALE ASC
1 - celle-ci s'execute en moins de 7 sec (très gros volume de données)
2 - si j'enlève tout ce qui est entre [] le temps passe à + de 20 sec
qq'un saurait me dire pourquoi car il me semble qu'elle devrait être plus
rapide dans le 2ème cas
je vais regarder les différentes proposition et je vous tiens au courant
mon but étant bien de récupérer les client qui ont des fatures et ou des
avoir
JeAn-PhI a utilisé son clavier pour écrire :
bonjour
voici le code sql d'une req :
SELECT *
FROM T_CLIENT
WHERE T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_CLIENT.CL_ID in
(
SELECT T_CLIENT.CL_ID,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID
[
union
SELECT T_CLIENT.CL_ID,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID
]
)
ORDER BY T_CLIENT.CL_RAISON_SOCIALE ASC
1 - celle-ci s'execute en moins de 7 sec (très gros volume de données)
2 - si j'enlève tout ce qui est entre [] le temps passe à + de 20 sec
qq'un saurait me dire pourquoi car il me semble qu'elle devrait être plus
rapide dans le 2ème cas
je vais regarder les différentes proposition et je vous tiens au courant
mon but étant bien de récupérer les client qui ont des fatures et ou des
avoir
JeAn-PhI a utilisé son clavier pour écrire :bonjour
voici le code sql d'une req :
SELECT *
FROM T_CLIENT
WHERE T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_CLIENT.CL_ID in
(
SELECT T_CLIENT.CL_ID,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID
[
union
SELECT T_CLIENT.CL_ID,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID
]
)
ORDER BY T_CLIENT.CL_RAISON_SOCIALE ASC
1 - celle-ci s'execute en moins de 7 sec (très gros volume de données)
2 - si j'enlève tout ce qui est entre [] le temps passe à + de 20 sec
qq'un saurait me dire pourquoi car il me semble qu'elle devrait être plus
rapide dans le 2ème cas
je vais regarder les différentes proposition et je vous tiens au courant
mon but étant bien de récupérer les client qui ont des fatures et ou des
avoir
bonjour
voici le code sql d'une req :
bonjour
voici le code sql d'une req :
bonjour
voici le code sql d'une req :
JeAn-PhI avait écrit le 31/01/2007 :bonjour
voici le code sql d'une req :
[CUT]
pour elecoest -> renvoi le résultat que je souhaite avec une rapidité
phénoménale - de 1 sec (il me reste encore du chemin à faire en SQL)
pour Frederic -> idem
pour Pierre -> renvoi le bon résultat mais en + de 2 sec
pour abuser un peu est ce qu'il y aurait moyen d'optimiser celle ci :
SELECT T_CLIENT.CL_ID,
T_CLIENT.CL_RAISON_SOCIALE AS CL_RAISON_SOCIALE,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID, CL_RAISON_SOCIALE
union
SELECT T_CLIENT.CL_ID,
T_CLIENT.CL_RAISON_SOCIALE AS CL_RAISON_SOCIALE,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
AND T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID, CL_RAISON_SOCIALE
order by T_CLIENT.CL_RAISON_SOCIALE
le but étant d'avoir un liste qui contient 1 enreg pour un client avec la
somme des facture et ou 1 enreg pour le même client avec la somme des
avoirs
CLIENT1 SommeFacture
CLIENT1 SommeAvoir
CLIENT2 SommeFacture
CLIENT3 SommeAvoir
...
--
Cordialement JeAn-PhI
JeAn-PhI avait écrit le 31/01/2007 :
bonjour
voici le code sql d'une req :
[CUT]
pour elecoest -> renvoi le résultat que je souhaite avec une rapidité
phénoménale - de 1 sec (il me reste encore du chemin à faire en SQL)
pour Frederic -> idem
pour Pierre -> renvoi le bon résultat mais en + de 2 sec
pour abuser un peu est ce qu'il y aurait moyen d'optimiser celle ci :
SELECT T_CLIENT.CL_ID,
T_CLIENT.CL_RAISON_SOCIALE AS CL_RAISON_SOCIALE,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID, CL_RAISON_SOCIALE
union
SELECT T_CLIENT.CL_ID,
T_CLIENT.CL_RAISON_SOCIALE AS CL_RAISON_SOCIALE,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
AND T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID, CL_RAISON_SOCIALE
order by T_CLIENT.CL_RAISON_SOCIALE
le but étant d'avoir un liste qui contient 1 enreg pour un client avec la
somme des facture et ou 1 enreg pour le même client avec la somme des
avoirs
CLIENT1 SommeFacture
CLIENT1 SommeAvoir
CLIENT2 SommeFacture
CLIENT3 SommeAvoir
...
--
Cordialement JeAn-PhI
JeAn-PhI avait écrit le 31/01/2007 :bonjour
voici le code sql d'une req :
[CUT]
pour elecoest -> renvoi le résultat que je souhaite avec une rapidité
phénoménale - de 1 sec (il me reste encore du chemin à faire en SQL)
pour Frederic -> idem
pour Pierre -> renvoi le bon résultat mais en + de 2 sec
pour abuser un peu est ce qu'il y aurait moyen d'optimiser celle ci :
SELECT T_CLIENT.CL_ID,
T_CLIENT.CL_RAISON_SOCIALE AS CL_RAISON_SOCIALE,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID, CL_RAISON_SOCIALE
union
SELECT T_CLIENT.CL_ID,
T_CLIENT.CL_RAISON_SOCIALE AS CL_RAISON_SOCIALE,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
AND T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID, CL_RAISON_SOCIALE
order by T_CLIENT.CL_RAISON_SOCIALE
le but étant d'avoir un liste qui contient 1 enreg pour un client avec la
somme des facture et ou 1 enreg pour le même client avec la somme des
avoirs
CLIENT1 SommeFacture
CLIENT1 SommeAvoir
CLIENT2 SommeFacture
CLIENT3 SommeAvoir
...
--
Cordialement JeAn-PhI
JeAn-PhI avait écrit le 31/01/2007 :bonjour
voici le code sql d'une req :
[CUT]
pour elecoest -> renvoi le résultat que je souhaite avec une rapidité
phénoménale - de 1 sec (il me reste encore du chemin à faire en SQL)
pour Frederic -> idem
pour Pierre -> renvoi le bon résultat mais en + de 2 sec
pour abuser un peu est ce qu'il y aurait moyen d'optimiser celle ci :
SELECT T_CLIENT.CL_ID,
T_CLIENT.CL_RAISON_SOCIALE AS CL_RAISON_SOCIALE,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID, CL_RAISON_SOCIALE
union
SELECT T_CLIENT.CL_ID,
T_CLIENT.CL_RAISON_SOCIALE AS CL_RAISON_SOCIALE,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
AND T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID, CL_RAISON_SOCIALE
order by T_CLIENT.CL_RAISON_SOCIALE
le but étant d'avoir un liste qui contient 1 enreg pour un client avec la
somme des facture et ou 1 enreg pour le même client avec la somme des avoirs
CLIENT1 SommeFacture
CLIENT1 SommeAvoir
CLIENT2 SommeFacture
CLIENT3 SommeAvoir
...
JeAn-PhI avait écrit le 31/01/2007 :
bonjour
voici le code sql d'une req :
[CUT]
pour elecoest -> renvoi le résultat que je souhaite avec une rapidité
phénoménale - de 1 sec (il me reste encore du chemin à faire en SQL)
pour Frederic -> idem
pour Pierre -> renvoi le bon résultat mais en + de 2 sec
pour abuser un peu est ce qu'il y aurait moyen d'optimiser celle ci :
SELECT T_CLIENT.CL_ID,
T_CLIENT.CL_RAISON_SOCIALE AS CL_RAISON_SOCIALE,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID, CL_RAISON_SOCIALE
union
SELECT T_CLIENT.CL_ID,
T_CLIENT.CL_RAISON_SOCIALE AS CL_RAISON_SOCIALE,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
AND T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID, CL_RAISON_SOCIALE
order by T_CLIENT.CL_RAISON_SOCIALE
le but étant d'avoir un liste qui contient 1 enreg pour un client avec la
somme des facture et ou 1 enreg pour le même client avec la somme des avoirs
CLIENT1 SommeFacture
CLIENT1 SommeAvoir
CLIENT2 SommeFacture
CLIENT3 SommeAvoir
...
JeAn-PhI avait écrit le 31/01/2007 :bonjour
voici le code sql d'une req :
[CUT]
pour elecoest -> renvoi le résultat que je souhaite avec une rapidité
phénoménale - de 1 sec (il me reste encore du chemin à faire en SQL)
pour Frederic -> idem
pour Pierre -> renvoi le bon résultat mais en + de 2 sec
pour abuser un peu est ce qu'il y aurait moyen d'optimiser celle ci :
SELECT T_CLIENT.CL_ID,
T_CLIENT.CL_RAISON_SOCIALE AS CL_RAISON_SOCIALE,
SUM(T_FACTURE.TOTAL) AS Total
FROM T_FACTURE, T_CLIENT
WHERE T_CLIENT.CL_ID = T_FACTURE.CL_ID
AND T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
AND T_FACTURE.FA_DATE BETWEEN {pDateDeb} AND {pDateFin}
GROUP BY T_CLIENT.CL_ID, CL_RAISON_SOCIALE
union
SELECT T_CLIENT.CL_ID,
T_CLIENT.CL_RAISON_SOCIALE AS CL_RAISON_SOCIALE,
SUM(T_AVOIR_FACTURE.TOTAL) AS Total
from T_AVOIR_FACTURE, T_CLIENT
where T_AVOIR_FACTURE.CL_ID = T_CLIENT.CL_ID
AND T_CLIENT.CL_RAISON_SOCIALE LIKE {pClientRS}%
and T_AVOIR_FACTURE.AF_DATE between {pDateDeb} AND {pDateFin}
group by T_CLIENT.CL_ID, CL_RAISON_SOCIALE
order by T_CLIENT.CL_RAISON_SOCIALE
le but étant d'avoir un liste qui contient 1 enreg pour un client avec la
somme des facture et ou 1 enreg pour le même client avec la somme des avoirs
CLIENT1 SommeFacture
CLIENT1 SommeAvoir
CLIENT2 SommeFacture
CLIENT3 SommeAvoir
...