![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 16.08.2006 Skąd: szy-ły Ostrzeżenie: (0%) ![]() ![]() |
Pytanie o zapytanie:
Mam tabele instalacje, tabela instalacje ma następujące pola: id_instalacji, id_klienta, data_instalacji, uwagi, id_serwisanta1, id_serwisanta2, status_instalacji. Chce zrobić statystyki instalatorów, żeby mieć takie statystyki musze wrzucić do innego skryptu dane w stylu data=42*12*6*26*19&label=Michal*Mateusz*Tomasz*Rafal*Przemyslaw na podstawie takiego ciągu – inny skrypt robi sobie wykres kołowy. Wszystko zrobiłem sobie fajnie ale zapytanie patrzyło tylko na serwisanta1, serwisand 2 był pomijany, i teraz jak zrobić zapytaniem czy już w php takie coś żeby jeżeli na instalacje pojechal jeden serwisant to liczymy mu 1 punkt, jeżeli na instalacje pojechało 2 serwisantów – liczymy po 0,5 punkta. Jak najłatwiej i najszybciej to zrobić ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 781 Pomógł: 256 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
A na jakiej zasadzie odrózniasz czy pojechał jeden czy dwuch serwisantów ? Jak pojechał jeden to kolumna id_serwisanta1 jest podane id a kolumna id_serwisanta2 jest pusta ?
Jak tak to można to zrobić w ten desen
Ten post edytował kefirek 27.02.2009, 17:18:23 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 16.08.2006 Skąd: szy-ły Ostrzeżenie: (0%) ![]() ![]() |
jeżeli pojechał jeden to id_serwisanta1 = id tego serwisanta, a id_serwisanta2 = 0, Twoje zapytanie jest spoko, tylko nie doliczy punktów temu drugiemu instalatorowi, tzn zliczy wszystkie instalacje tego pierwszego - i to jest fajne, ale nie sumuje instalacji serwisanta 2.
da się to w jednym zapytaniu zrobic? (btw troche się bawie mysqlem a i takich if-ach w zapytaniu nie slyszalem - fajny bajer) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 781 Pomógł: 256 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
da się to w jednym zapytaniu zrobic? (btw troche się bawie mysqlem a i takich if-ach w zapytaniu nie slyszalem - fajny bajer) Tak da się. Tak powinno dzialac na 99% dobrze Łączysz id użytkowników z kolumny id_serwisanta1 i id_serwisanta2 w jedną kolumnę ID za pomocą UNION ALL i przydzielasz pkt potem Dajesz warunek WHERE by nie liczyło ID = 0 a na końcu grupujesz po ID i sumujesz liczbę pkt dla każdego użytkownika
Ten post edytował kefirek 28.02.2009, 10:54:37 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 16.08.2006 Skąd: szy-ły Ostrzeżenie: (0%) ![]() ![]() |
dzieki kefirek to co zrobiłeś po maleńkich modyfikacjach działa dokładnie tak jak chciałem. Powiedz mi tylko, czy takie zapytanie zalicza się już do tych trudniejszych? czy to nic takiego? bo myślałem, że całkiem całkiem ogarniam mysql-a ale na takie zapytanie bym nie wpadł(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jeszcze raz dzieki
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 07:48 |