:) Ho 2 query, e ho bisogno di unirmi a loro, ho bisogno di confrontare il tempo di lavoro dei dipendenti in base all'attività con il tempo di lavoro totale della società nella stessa attività nel periodo definitoMYSQL LEFT JOIN con GROUP BY
prima interrogazione è:
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
E la mia seconda domanda è:
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 prima query mi restituisce tempo di lavoro totale di OPERAIO raggruppati per attività, per esempio:
u.login a.article p.p_article tottime
Ivan Teambuilding 1 3,45
Julie Social_work 2 5,67
La seconda query mi restituisce tempo di lavoro totale di COMPANY raggruppati per attività, ad esempio:
a.article p.p_article tottime
Teambuilding 1 150
Social_work 2 260
voglio avere qualcosa di simile, in modo da poter confrontare il tempo totale di operaio per attività con il tempo totale di società di ore di lavoro per attività nel periodo specifico:
u.login a.article p.p_article tottime(worker) tottime(company)
Ivan Teambuilding 1 3,45 150
Julie Social_work 2 5,67 260
in caso di valori NULL vorrei usare LEFT JOIN. Stavo cercando la soluzione per 3 ore, e tutto quello che provo non funziona, quindi qualsiasi aiuto sarebbe apprezzato.
si prega di inviare il vostro schema con alcuni dati di esempio –