Bonsoir
La requête ci dessus s'exécute bien mais ne me renvoie pas ce que je voulais
faire. Vous pouvez la regarder et essayer de voir comment je peux régler mon
problème.
Je veux lancer une requête contenant des colonnes qui sont les résultats
d'autres requêtes avec comme paramètre la valeur de l'une des colonnes de la
requête principale.
Voila en résumé ce que je veux faire
Merci de votre aide
SELECT APPELS.MATRICULE AS MATRIC, OPERATEURS.NOM AS OPERATEUR, COUNT(*) AS
TOTAL,
SUM(APPELS.DUREE_T) AS DUREE_T,
SUM(APPELS.DUREE_D) AS DUREE_D,
SUM(APPELS.DUREE_A) AS DUREE_A,
SUM(APPELS.DUREE_P) AS DUREE_P,
(SELECT COUNT(*) FROM APPELS where (sens = 'IN') AND (Trace Like
'%PAR%')
AND (DATE BETWEEN '01/01/2004' AND '01/04/2004')) AS
TOT_GEN_TRAITES,
(SELECT COUNT(ANI) FROM APPELS where sens = 'IN' AND Trace Like
'%ATE'+MATRICULE+'%' /*Je veux mettre ici le matricule récupérer sur la
première ligne*/
AND DATE BetWeen '01/01/2004' AND '01/04/2004') AS
TOT_TRAITES_OP
FROM APPELS RIGHT OUTER JOIN
OPERATEURS ON APPELS.MATRICULE = OPERATEURS.MATRICULE
WHERE (APPELS.MATRICULE LIKE '%____%')
AND (APPELS.[DATE] BETWEEN '01/01/2004' AND '01/04/2004')
AND (APPELS.SENS = 'IN')
GROUP BY APPELS.MATRICULE, OPERATEURS.NOM
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Tom
SELECT APPELS.MATRICULE AS MATRIC, OPERATEURS.NOM AS OPERATEUR, COUNT(*) AS TOTAL, SUM(APPELS.DUREE_T) AS DUREE_T, SUM(APPELS.DUREE_D) AS DUREE_D, SUM(APPELS.DUREE_A) AS DUREE_A, SUM(APPELS.DUREE_P) AS DUREE_P, ( SELECT COUNT(*) FROM APPELS where (sens = 'IN') AND (Trace Like '%PAR%') AND (DATE BETWEEN '01/01/2004' AND '01/04/2004') ) AS TOT_GEN_TRAITES, ( SELECT COUNT(ANI) FROM APPELS A2 where A2.sens = 'IN' AND A2.Trace Like 'ATE'+APPELS.MATRICULE+'%' AND DATE BetWeen '01/01/2004' AND '01/04/2004' ) AS TOT_TRAITES_OP FROM APPELS RIGHT OUTER JOIN OPERATEURS ON APPELS.MATRICULE = OPERATEURS.MATRICULE WHERE (APPELS.MATRICULE LIKE '%____%') AND (APPELS.[DATE] BETWEEN '01/01/2004' AND '01/04/2004') AND (APPELS.SENS = 'IN') GROUP BY APPELS.MATRICULE, OPERATEURS.NOM
-----Message d'origine----- Bonsoir La requête ci dessus s'exécute bien mais ne me renvoie
pas ce que je voulais
faire. Vous pouvez la regarder et essayer de voir
comment je peux régler mon
problème. Je veux lancer une requête contenant des colonnes qui
sont les résultats
d'autres requêtes avec comme paramètre la valeur de
l'une des colonnes de la
requête principale. Voila en résumé ce que je veux faire Merci de votre aide
SELECT APPELS.MATRICULE AS MATRIC, OPERATEURS.NOM AS
OPERATEUR, COUNT(*) AS
TOTAL, SUM(APPELS.DUREE_T) AS DUREE_T, SUM(APPELS.DUREE_D) AS DUREE_D, SUM(APPELS.DUREE_A) AS DUREE_A, SUM(APPELS.DUREE_P) AS DUREE_P, (SELECT COUNT(*) FROM APPELS where (sens = 'IN')
AND (Trace Like
'%PAR%') AND (DATE BETWEEN '01/01/2004'
AND '01/04/2004')) AS
TOT_GEN_TRAITES, (SELECT COUNT(ANI) FROM APPELS where sens = 'IN'
AND Trace Like
'%ATE'+MATRICULE+'%' /*Je veux mettre ici le matricule
récupérer sur la
première ligne*/ AND DATE BetWeen '01/01/2004'
AND '01/04/2004') AS
TOT_TRAITES_OP FROM APPELS RIGHT OUTER JOIN OPERATEURS ON APPELS.MATRICULE =
OPERATEURS.MATRICULE
WHERE (APPELS.MATRICULE LIKE '%____%') AND (APPELS.[DATE] BETWEEN '01/01/2004'
AND '01/04/2004')
AND (APPELS.SENS = 'IN') GROUP BY APPELS.MATRICULE, OPERATEURS.NOM
.
SELECT
APPELS.MATRICULE AS MATRIC,
OPERATEURS.NOM AS OPERATEUR,
COUNT(*) AS TOTAL,
SUM(APPELS.DUREE_T) AS DUREE_T,
SUM(APPELS.DUREE_D) AS DUREE_D,
SUM(APPELS.DUREE_A) AS DUREE_A,
SUM(APPELS.DUREE_P) AS DUREE_P,
(
SELECT COUNT(*)
FROM APPELS
where (sens = 'IN')
AND (Trace Like '%PAR%')
AND (DATE BETWEEN '01/01/2004' AND '01/04/2004')
) AS TOT_GEN_TRAITES,
(
SELECT COUNT(ANI)
FROM APPELS A2
where A2.sens = 'IN'
AND A2.Trace Like 'ATE'+APPELS.MATRICULE+'%'
AND DATE BetWeen '01/01/2004' AND '01/04/2004'
) AS TOT_TRAITES_OP
FROM APPELS RIGHT OUTER JOIN
OPERATEURS ON APPELS.MATRICULE = OPERATEURS.MATRICULE
WHERE (APPELS.MATRICULE LIKE '%____%')
AND (APPELS.[DATE] BETWEEN '01/01/2004'
AND '01/04/2004')
AND (APPELS.SENS = 'IN')
GROUP BY APPELS.MATRICULE, OPERATEURS.NOM
-----Message d'origine-----
Bonsoir
La requête ci dessus s'exécute bien mais ne me renvoie
pas ce que je voulais
faire. Vous pouvez la regarder et essayer de voir
comment je peux régler mon
problème.
Je veux lancer une requête contenant des colonnes qui
sont les résultats
d'autres requêtes avec comme paramètre la valeur de
l'une des colonnes de la
requête principale.
Voila en résumé ce que je veux faire
Merci de votre aide
SELECT APPELS.MATRICULE AS MATRIC, OPERATEURS.NOM AS
OPERATEUR, COUNT(*) AS
TOTAL,
SUM(APPELS.DUREE_T) AS DUREE_T,
SUM(APPELS.DUREE_D) AS DUREE_D,
SUM(APPELS.DUREE_A) AS DUREE_A,
SUM(APPELS.DUREE_P) AS DUREE_P,
(SELECT COUNT(*) FROM APPELS where (sens = 'IN')
AND (Trace Like
'%PAR%')
AND (DATE BETWEEN '01/01/2004'
AND '01/04/2004')) AS
TOT_GEN_TRAITES,
(SELECT COUNT(ANI) FROM APPELS where sens = 'IN'
AND Trace Like
'%ATE'+MATRICULE+'%' /*Je veux mettre ici le matricule
récupérer sur la
première ligne*/
AND DATE BetWeen '01/01/2004'
AND '01/04/2004') AS
TOT_TRAITES_OP
FROM APPELS RIGHT OUTER JOIN
OPERATEURS ON APPELS.MATRICULE =
OPERATEURS.MATRICULE
WHERE (APPELS.MATRICULE LIKE '%____%')
AND (APPELS.[DATE] BETWEEN '01/01/2004'
AND '01/04/2004')
AND (APPELS.SENS = 'IN')
GROUP BY APPELS.MATRICULE, OPERATEURS.NOM
SELECT APPELS.MATRICULE AS MATRIC, OPERATEURS.NOM AS OPERATEUR, COUNT(*) AS TOTAL, SUM(APPELS.DUREE_T) AS DUREE_T, SUM(APPELS.DUREE_D) AS DUREE_D, SUM(APPELS.DUREE_A) AS DUREE_A, SUM(APPELS.DUREE_P) AS DUREE_P, ( SELECT COUNT(*) FROM APPELS where (sens = 'IN') AND (Trace Like '%PAR%') AND (DATE BETWEEN '01/01/2004' AND '01/04/2004') ) AS TOT_GEN_TRAITES, ( SELECT COUNT(ANI) FROM APPELS A2 where A2.sens = 'IN' AND A2.Trace Like 'ATE'+APPELS.MATRICULE+'%' AND DATE BetWeen '01/01/2004' AND '01/04/2004' ) AS TOT_TRAITES_OP FROM APPELS RIGHT OUTER JOIN OPERATEURS ON APPELS.MATRICULE = OPERATEURS.MATRICULE WHERE (APPELS.MATRICULE LIKE '%____%') AND (APPELS.[DATE] BETWEEN '01/01/2004' AND '01/04/2004') AND (APPELS.SENS = 'IN') GROUP BY APPELS.MATRICULE, OPERATEURS.NOM
-----Message d'origine----- Bonsoir La requête ci dessus s'exécute bien mais ne me renvoie
pas ce que je voulais
faire. Vous pouvez la regarder et essayer de voir
comment je peux régler mon
problème. Je veux lancer une requête contenant des colonnes qui
sont les résultats
d'autres requêtes avec comme paramètre la valeur de
l'une des colonnes de la
requête principale. Voila en résumé ce que je veux faire Merci de votre aide
SELECT APPELS.MATRICULE AS MATRIC, OPERATEURS.NOM AS
OPERATEUR, COUNT(*) AS
TOTAL, SUM(APPELS.DUREE_T) AS DUREE_T, SUM(APPELS.DUREE_D) AS DUREE_D, SUM(APPELS.DUREE_A) AS DUREE_A, SUM(APPELS.DUREE_P) AS DUREE_P, (SELECT COUNT(*) FROM APPELS where (sens = 'IN')
AND (Trace Like
'%PAR%') AND (DATE BETWEEN '01/01/2004'
AND '01/04/2004')) AS
TOT_GEN_TRAITES, (SELECT COUNT(ANI) FROM APPELS where sens = 'IN'
AND Trace Like
'%ATE'+MATRICULE+'%' /*Je veux mettre ici le matricule
récupérer sur la
première ligne*/ AND DATE BetWeen '01/01/2004'
AND '01/04/2004') AS
TOT_TRAITES_OP FROM APPELS RIGHT OUTER JOIN OPERATEURS ON APPELS.MATRICULE =
OPERATEURS.MATRICULE
WHERE (APPELS.MATRICULE LIKE '%____%') AND (APPELS.[DATE] BETWEEN '01/01/2004'
AND '01/04/2004')
AND (APPELS.SENS = 'IN') GROUP BY APPELS.MATRICULE, OPERATEURS.NOM
.
JOE DALTON
Merci Tom Ca marche 5/5 Mais j'avais déjà trouvé une autre solution que je crois est la meilleure. J'ai créé une table qui contient tous les champs que je désire renseignés. Puis j'ai créé une procédure stoqués qui crée tous les jours à partir de minuits des stats pour chaque opérateur et l'enregistre dans la table. Maintenant je ne fais que des requêtes simples sur cette table.
Merci.
"Tom" a écrit dans le message de news:17bbb01c418ce$2fb09dd0$ SELECT APPELS.MATRICULE AS MATRIC, OPERATEURS.NOM AS OPERATEUR, COUNT(*) AS TOTAL, SUM(APPELS.DUREE_T) AS DUREE_T, SUM(APPELS.DUREE_D) AS DUREE_D, SUM(APPELS.DUREE_A) AS DUREE_A, SUM(APPELS.DUREE_P) AS DUREE_P, ( SELECT COUNT(*) FROM APPELS where (sens = 'IN') AND (Trace Like '%PAR%') AND (DATE BETWEEN '01/01/2004' AND '01/04/2004') ) AS TOT_GEN_TRAITES, ( SELECT COUNT(ANI) FROM APPELS A2 where A2.sens = 'IN' AND A2.Trace Like 'ATE'+APPELS.MATRICULE+'%' AND DATE BetWeen '01/01/2004' AND '01/04/2004' ) AS TOT_TRAITES_OP FROM APPELS RIGHT OUTER JOIN OPERATEURS ON APPELS.MATRICULE = OPERATEURS.MATRICULE WHERE (APPELS.MATRICULE LIKE '%____%') AND (APPELS.[DATE] BETWEEN '01/01/2004' AND '01/04/2004') AND (APPELS.SENS = 'IN') GROUP BY APPELS.MATRICULE, OPERATEURS.NOM
-----Message d'origine----- Bonsoir La requête ci dessus s'exécute bien mais ne me renvoie
pas ce que je voulais
faire. Vous pouvez la regarder et essayer de voir
comment je peux régler mon
problème. Je veux lancer une requête contenant des colonnes qui
sont les résultats
d'autres requêtes avec comme paramètre la valeur de
l'une des colonnes de la
requête principale. Voila en résumé ce que je veux faire Merci de votre aide
SELECT APPELS.MATRICULE AS MATRIC, OPERATEURS.NOM AS
OPERATEUR, COUNT(*) AS
TOTAL, SUM(APPELS.DUREE_T) AS DUREE_T, SUM(APPELS.DUREE_D) AS DUREE_D, SUM(APPELS.DUREE_A) AS DUREE_A, SUM(APPELS.DUREE_P) AS DUREE_P, (SELECT COUNT(*) FROM APPELS where (sens = 'IN')
AND (Trace Like
'%PAR%') AND (DATE BETWEEN '01/01/2004'
AND '01/04/2004')) AS
TOT_GEN_TRAITES, (SELECT COUNT(ANI) FROM APPELS where sens = 'IN'
AND Trace Like
'%ATE'+MATRICULE+'%' /*Je veux mettre ici le matricule
récupérer sur la
première ligne*/ AND DATE BetWeen '01/01/2004'
AND '01/04/2004') AS
TOT_TRAITES_OP FROM APPELS RIGHT OUTER JOIN OPERATEURS ON APPELS.MATRICULE OPERATEURS.MATRICULE WHERE (APPELS.MATRICULE LIKE '%____%') AND (APPELS.[DATE] BETWEEN '01/01/2004'
AND '01/04/2004')
AND (APPELS.SENS = 'IN') GROUP BY APPELS.MATRICULE, OPERATEURS.NOM
.
Merci Tom
Ca marche 5/5
Mais j'avais déjà trouvé une autre solution que je crois est la meilleure.
J'ai créé une table qui contient tous les champs que je désire renseignés.
Puis j'ai créé une procédure stoqués qui crée tous les jours à partir de
minuits des stats pour chaque opérateur et l'enregistre dans la table.
Maintenant je ne fais que des requêtes simples sur cette table.
Merci.
"Tom" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:17bbb01c418ce$2fb09dd0$a101280a@phx.gbl...
SELECT
APPELS.MATRICULE AS MATRIC,
OPERATEURS.NOM AS OPERATEUR,
COUNT(*) AS TOTAL,
SUM(APPELS.DUREE_T) AS DUREE_T,
SUM(APPELS.DUREE_D) AS DUREE_D,
SUM(APPELS.DUREE_A) AS DUREE_A,
SUM(APPELS.DUREE_P) AS DUREE_P,
(
SELECT COUNT(*)
FROM APPELS
where (sens = 'IN')
AND (Trace Like '%PAR%')
AND (DATE BETWEEN '01/01/2004' AND '01/04/2004')
) AS TOT_GEN_TRAITES,
(
SELECT COUNT(ANI)
FROM APPELS A2
where A2.sens = 'IN'
AND A2.Trace Like 'ATE'+APPELS.MATRICULE+'%'
AND DATE BetWeen '01/01/2004' AND '01/04/2004'
) AS TOT_TRAITES_OP
FROM APPELS RIGHT OUTER JOIN
OPERATEURS ON APPELS.MATRICULE = OPERATEURS.MATRICULE
WHERE (APPELS.MATRICULE LIKE '%____%')
AND (APPELS.[DATE] BETWEEN '01/01/2004'
AND '01/04/2004')
AND (APPELS.SENS = 'IN')
GROUP BY APPELS.MATRICULE, OPERATEURS.NOM
-----Message d'origine-----
Bonsoir
La requête ci dessus s'exécute bien mais ne me renvoie
pas ce que je voulais
faire. Vous pouvez la regarder et essayer de voir
comment je peux régler mon
problème.
Je veux lancer une requête contenant des colonnes qui
sont les résultats
d'autres requêtes avec comme paramètre la valeur de
l'une des colonnes de la
requête principale.
Voila en résumé ce que je veux faire
Merci de votre aide
SELECT APPELS.MATRICULE AS MATRIC, OPERATEURS.NOM AS
OPERATEUR, COUNT(*) AS
TOTAL,
SUM(APPELS.DUREE_T) AS DUREE_T,
SUM(APPELS.DUREE_D) AS DUREE_D,
SUM(APPELS.DUREE_A) AS DUREE_A,
SUM(APPELS.DUREE_P) AS DUREE_P,
(SELECT COUNT(*) FROM APPELS where (sens = 'IN')
AND (Trace Like
'%PAR%')
AND (DATE BETWEEN '01/01/2004'
AND '01/04/2004')) AS
TOT_GEN_TRAITES,
(SELECT COUNT(ANI) FROM APPELS where sens = 'IN'
AND Trace Like
'%ATE'+MATRICULE+'%' /*Je veux mettre ici le matricule
récupérer sur la
première ligne*/
AND DATE BetWeen '01/01/2004'
AND '01/04/2004') AS
TOT_TRAITES_OP
FROM APPELS RIGHT OUTER JOIN
OPERATEURS ON APPELS.MATRICULE OPERATEURS.MATRICULE
WHERE (APPELS.MATRICULE LIKE '%____%')
AND (APPELS.[DATE] BETWEEN '01/01/2004'
AND '01/04/2004')
AND (APPELS.SENS = 'IN')
GROUP BY APPELS.MATRICULE, OPERATEURS.NOM
Merci Tom Ca marche 5/5 Mais j'avais déjà trouvé une autre solution que je crois est la meilleure. J'ai créé une table qui contient tous les champs que je désire renseignés. Puis j'ai créé une procédure stoqués qui crée tous les jours à partir de minuits des stats pour chaque opérateur et l'enregistre dans la table. Maintenant je ne fais que des requêtes simples sur cette table.
Merci.
"Tom" a écrit dans le message de news:17bbb01c418ce$2fb09dd0$ SELECT APPELS.MATRICULE AS MATRIC, OPERATEURS.NOM AS OPERATEUR, COUNT(*) AS TOTAL, SUM(APPELS.DUREE_T) AS DUREE_T, SUM(APPELS.DUREE_D) AS DUREE_D, SUM(APPELS.DUREE_A) AS DUREE_A, SUM(APPELS.DUREE_P) AS DUREE_P, ( SELECT COUNT(*) FROM APPELS where (sens = 'IN') AND (Trace Like '%PAR%') AND (DATE BETWEEN '01/01/2004' AND '01/04/2004') ) AS TOT_GEN_TRAITES, ( SELECT COUNT(ANI) FROM APPELS A2 where A2.sens = 'IN' AND A2.Trace Like 'ATE'+APPELS.MATRICULE+'%' AND DATE BetWeen '01/01/2004' AND '01/04/2004' ) AS TOT_TRAITES_OP FROM APPELS RIGHT OUTER JOIN OPERATEURS ON APPELS.MATRICULE = OPERATEURS.MATRICULE WHERE (APPELS.MATRICULE LIKE '%____%') AND (APPELS.[DATE] BETWEEN '01/01/2004' AND '01/04/2004') AND (APPELS.SENS = 'IN') GROUP BY APPELS.MATRICULE, OPERATEURS.NOM
-----Message d'origine----- Bonsoir La requête ci dessus s'exécute bien mais ne me renvoie
pas ce que je voulais
faire. Vous pouvez la regarder et essayer de voir
comment je peux régler mon
problème. Je veux lancer une requête contenant des colonnes qui
sont les résultats
d'autres requêtes avec comme paramètre la valeur de
l'une des colonnes de la
requête principale. Voila en résumé ce que je veux faire Merci de votre aide
SELECT APPELS.MATRICULE AS MATRIC, OPERATEURS.NOM AS
OPERATEUR, COUNT(*) AS
TOTAL, SUM(APPELS.DUREE_T) AS DUREE_T, SUM(APPELS.DUREE_D) AS DUREE_D, SUM(APPELS.DUREE_A) AS DUREE_A, SUM(APPELS.DUREE_P) AS DUREE_P, (SELECT COUNT(*) FROM APPELS where (sens = 'IN')
AND (Trace Like
'%PAR%') AND (DATE BETWEEN '01/01/2004'
AND '01/04/2004')) AS
TOT_GEN_TRAITES, (SELECT COUNT(ANI) FROM APPELS where sens = 'IN'
AND Trace Like
'%ATE'+MATRICULE+'%' /*Je veux mettre ici le matricule
récupérer sur la
première ligne*/ AND DATE BetWeen '01/01/2004'
AND '01/04/2004') AS
TOT_TRAITES_OP FROM APPELS RIGHT OUTER JOIN OPERATEURS ON APPELS.MATRICULE OPERATEURS.MATRICULE WHERE (APPELS.MATRICULE LIKE '%____%') AND (APPELS.[DATE] BETWEEN '01/01/2004'
AND '01/04/2004')
AND (APPELS.SENS = 'IN') GROUP BY APPELS.MATRICULE, OPERATEURS.NOM