MYSQL LEFT JOIN avec GROUP BY

🙂
J'ai 2 requêtes, et j'ai besoin de se joindre à eux, j'ai besoin de comparer le temps de travail de l'employé en fonction de l'activité avec des temps de travail total de la société dans la même activité dans une période définie

Première requête est:

SELECT u.login,
       a.article, 
       p.p_article, 
       (SUM(p.p_going) + SUM(p.p_leaving) + SUM(p.p_working)) AS tottime
FROM pos p,users u, articles a
WHERE u.login = p.p_login
AND REPLACE( u.login, '.', '_' ) = 'users_name'
AND p.p_datum >= '2013-04-09'
AND p.p_datum <= '2013-04-16'
AND p.p_article = a.id
GROUP BY a.article

Et ma deuxième question est:

SELECT a.article, 
       p.p_article, 
       (SUM(p.p_going) + SUM(p.p_leaving) + SUM(p.p_working)) AS tottime
FROM pos p, articles a
WHERE p.p_datum >= '2013-04-09'
AND p.p_datum <= '2013-04-16'
AND p.p_article = a.id
GROUP BY a.article

La première requête me renvoie temps de travail total de TRAVAILLEURS regroupées par activités, par exemple:

u.login    a.article     p.p_article  tottime
Ivan       Teambuilding    1          3,45
Julie      Social_work     2          5,67

La deuxième requête me renvoie temps de travail total de la SOCIÉTÉ regroupées par activités, par exemple:

a.article     p.p_article  tottime
Teambuilding    1         150
Social_work     2         260

Je veux avoir quelque chose comme cela, donc je peux comparer le temps total de travailleurs par activité avec le temps total de la société d'heures de travail par activité en période spécifique:

u.login    a.article     p.p_article  tottime(worker)  tottime(company) 
Ivan       Teambuilding    1          3,45              150  
Julie      Social_work     2          5,67              260

Dans le cas des valeurs NULL je voudrais utiliser une JOINTURE GAUCHE. J'étais à la recherche de la solution pendant 3 heures, et tout ce que j'ai essayer ne fonctionne pas, de sorte que toute aide serait appréciée.

merci de poster votre schéma avec des exemples de données

OriginalL'auteur enigmaticus | 2013-04-23