:) Mam 2 pytania i muszę do nich dołączyć, muszę porównać czas pracy pracownika w zależności od aktywności z łącznym czasem pracy firmy w tej samej działalności w określonym okresieMYSQL LEFT DOŁĄCZ DO GRUPY PRZEZ
pierwsze zapytanie jest:
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
I moje drugie zapytanie brzmi:
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
pierwszy kwerenda zwraca mi całkowitego czasu pracy pracownika pogrupowany według aktywnosci, na przykład:
u.login a.article p.p_article tottime
Ivan Teambuilding 1 3,45
Julie Social_work 2 5,67
Drugie zapytanie zwraca mi całkowity czas pracy firmy pogrupowane według aktywnosci, na przykład:
a.article p.p_article tottime
Teambuilding 1 150
Social_work 2 260
chcę mieć coś takiego, więc mogę porównać całkowity czas pracownik za działania z łącznym czasem spółki godzin pracy w działalności w danym okresie:
u.login a.article p.p_article tottime(worker) tottime(company)
Ivan Teambuilding 1 3,45 150
Julie Social_work 2 5,67 260
w przypadku wartości NULL Chciałbym użyć LEFT JOIN. Szukałem rozwiązania przez 3 godziny, a wszystko, co próbuję, nie działa, więc każda pomoc byłaby doceniana.
proszę wysłać schemat z niektórych przykładowych danych –