Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 0 Dołączył: 9.02.2009 Ostrzeżenie: (0%)
|
Witam,
Mam dwie tabele w bazie ( nie wypisuje wszystkich pól, tylko te co są istotne przy moim problemie): tab.a1 ID | nazwa | numer| 1 | cytryna| 1001| 2 |kiwi | 1002| 3 |banan | 1003| 4 |jabłko | 1004| itd. tab.b1 ID |nr2 | czas | atrybut| 1 | 1001| 20130105 | h| 2 | 1001 | 20130108 | r | 3 | 1001| 20130110 | h| 4 |1002 | 20130106 | h| 5 | 1002| 20130109 | h| 6 |1003 | 20130114 | r| 7 |1003 |20130115 | r| 8 |1004 |20130110 | a| Pierwsza część działa mi prawidłowo, otrzymuję wszystkie wyniki spełniające zapytanie
w wyniku otrzymuję taką tabelkę: 1.cytryna 1001 h 2.cytryna 1001 r 3.kiwi 1002 h 4.banan 1003 r 5.jabłko 1004 a Teraz chciałbym by nastapiło zliczenie wg takiego rozwiązania po atrybutach. Jeśli dana produkt ( np. cytryna ) wystepuje w dwóch wynikach z różnymi atrybutami ( h, r ) to chcę by to było zliczone jako h i by w tabeli poniżej nastepowało sumowanie po atrybutach (analogicznie sobie już pozostałe ustawienia dopasuję ) czyli w tym przypadku: atrybut h - 2 ( czyli cytryna i kiwi ) atrybut r - 1 ( czyli banan) atrybut a - 1 (czyli jabłko )
W jaki sposób można to zrobić, proszę o jakieś podpowiedzi i wskazówki. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 0 Dołączył: 9.02.2009 Ostrzeżenie: (0%)
|
No to będzie problem bo tych nazw będzie dużo.
W tym kodzie co dziś dałem, to już nie jest prosta tabela. W tabeli dawcy - są dane osobowe osób kilkadziesiąt tysięcy w tabelii oddania są informacje o oddaniach krwi jakie osoba dokonała w danym roku. Przy każdym oddaniu może być ten atrybut:h, r, p, a zliczenie ma polegać na wybraniu wszystkich osób z danego przedziału czasowego, którzy oddawali krew. Wiadomo, że można oddać kilka razy w roku, dlatego w zabytaniu chciałem pogrupować najpierw po ODDWNR czyli jest to numer, można powiedzieć ze id takiej osoby, a nastepnie pogrupować po ODDNR1 czyli po atrybucie h, r, p, a. Z takiego zapytania powinienem otrzymać np. Jan Kowalski R Jan kowalski H Jan Nowak R Piotr Malinowski A Z tej tabeli wiem, że kowalski oddawał krew z atrybutem H i R ( przynajmniej po jednym razie ), nowak oddawał tylko z atrybutem R, a malinowski z atrybutem A Założenia atrybutów są takie jak w kodzie, czyli jak ktoś oddawał np. H, R, P to ma być zliczony jako raz do H, jak ktoś tylko R, to raz do R z tych załozeń mamy: Kowalski - R i H - czyli zliczamy do H Nowak - R - zliczamy do R Malinowski A-zliczamy do A otrzymany wynik z tego przykładu powinien być taki: liczba osób z atrybutem H - 1 liczba osób z atryb. R - 1 liczba osób z atryb A- 1 Może teraz to jest jasniej, nie chciałem dokładnie tego opisywać, bo chciałem sam to zrobić, dlatego posługiwałem sie owocami jako przykładem Wstaw odpowiednie nawiasy do SQL (WHERE), bo teraz to kicha przeokrutna tam jest. Właśnie nie wiem jak powinny one być wstawione. |
|
|
|
dopal [MySQL][PHP]Jak wyliczyć wyniki z zapytania 11.02.2013, 10:53:13
nospor Tworzysz tyle tablic ile masz atrybutów.
Lecisz w... 11.02.2013, 13:15:06
dopal kombinuje jak to zroić, ale mi niestety nie wychod... 11.02.2013, 14:15:28
mmmmmmm Podałeś, co masz na wejściu. Pokaż wyjście, a poka... 11.02.2013, 19:34:37
dopal Po przerobieniu kod wygląda jak poniżej, mam jedna... 12.02.2013, 08:25:57
nospor @dopal algorytm co ci podałem miałes robić w jedne... 12.02.2013, 09:09:19 
dopal Cytat(nospor @ 12.02.2013, 09:09:19 )... 12.02.2013, 09:15:23
nospor To nie ma żadnej różnicy. Petla do pobierania dany... 12.02.2013, 09:18:25
dopal [PHP] pobierz, plaintext ?php$x=0;while($set=o... 12.02.2013, 09:43:26
nospor Po co te FOEREACH w głównej petli? Po co to:
... 12.02.2013, 09:53:34
dopal Nie wiem jak to ma byc, możesz to konkretnie podać... 12.02.2013, 10:10:03
nospor Z Twojego opisu (z tego w temacie i z tego na PW) ... 12.02.2013, 10:21:15
dopal Tak.
Element może być np. 3 razy w h, p, r - wtedy... 12.02.2013, 10:26:58
nospor Dobra, zmiana algorytmu. Może trochę dłuższy, ale ... 12.02.2013, 10:38:01
dopal [PHP] pobierz, plaintext $element = array(... 12.02.2013, 10:55:27
nospor NIe....
Nie: $element['ODDNR1'] = H;... 12.02.2013, 10:57:45
mmmmmmm Wstaw odpowiednie nawiasy do SQL (WHERE), bo teraz... 12.02.2013, 11:06:42
nospor CytatNo to będzie problem bo tych nazw będzie dużo... 12.02.2013, 11:23:32
dopal Pracuje jako osoba ds. organizacyjnych w służbie z... 12.02.2013, 11:28:31
nospor Dziękuje. Bo juz się bałem że jako programista
T... 12.02.2013, 11:33:55
dopal [PHP] pobierz, plaintext $element = array(... 12.02.2013, 11:34:16
nospor Moj poprzedni post i dopisek
Cytata tutaj też nie ... 12.02.2013, 11:34:57
dopal Programować, to ja mogę....programy w telewizorze,... 12.02.2013, 11:36:03
nospor [PHP] pobierz, plaintext $element = array(... 12.02.2013, 11:40:09
dopal [PHP] pobierz, plaintext <?php$x=0;... 12.02.2013, 11:54:10
nospor zamiast and używaj && - wizualnie mi to le... 12.02.2013, 11:56:06
dopal Parse error: syntax error, unexpected T_WHILE in D... 12.02.2013, 12:00:11
Michasko Brakuje Ci średnika przed 'while' :) 12.02.2013, 12:02:24 
dopal Cytat(Michasko @ 12.02.2013, 12:02:24... 12.02.2013, 12:06:56
Michasko Linijka 7 - niedomknięty nawias okrągły. Musisz za... 12.02.2013, 12:08:39
nospor Literowka.... isset ma sie szybko konczyc. Tak ma ... 12.02.2013, 12:09:17
dopal Czytam, tylko ja już nad tym od wczoraj siedzę, po... 12.02.2013, 12:12:39
nospor $nazwaelementu = $row['ODDWNR'];... 12.02.2013, 12:17:41 
dopal Cytat(nospor @ 12.02.2013, 12:17:41 )... 12.02.2013, 12:21:31
nospor No ale poprawiles? Nadal print_r nic ci nie zwraca... 12.02.2013, 12:23:32
dopal RE: [MySQL][PHP]Jak wyliczyć wyniki z zapytania 12.02.2013, 12:25:56
nospor hm.... czy twoje nazwy elementu to liczby ala 1008... 12.02.2013, 12:29:05
dopal Tak, nazwy elementu to liczby, a do tych liczb prz... 12.02.2013, 12:33:26
nospor nie: $tab_h[] =$el++;
a: $tab_h[] =... 12.02.2013, 12:42:21
dopal I lepiej rzebyś nie pytał
[PHP] pobierz, plainte... 12.02.2013, 12:45:10
nospor Rozumiem, że już działa? 12.02.2013, 12:47:13
dopal Wyniki otrzymuję, więc chyba jest ok.
Pozstaje jes... 12.02.2013, 12:47:48
nospor A w jakim celu? 12.02.2013, 12:49:48
dopal To jest ten fragment co pisałem wcześniej:
W tabe... 12.02.2013, 12:54:42
nospor Chyba właśnie zdurniałem..... to niby co my do tej... 12.02.2013, 12:57:57
phpion Nie czytałem całego wątku, ale czy zapytanie przyp... 12.02.2013, 13:06:10
dopal Po części tak, ale ( może się mylę)
Jesli np. kowa... 12.02.2013, 13:07:25 
phpion Cytat(dopal @ 12.02.2013, 13:07:25 ) ... 12.02.2013, 13:09:59 
dopal Cytat(phpion @ 12.02.2013, 13:09:59 )... 12.02.2013, 13:11:44
nospor CytatJesli np. kowalski oddał w ciągu roku krew 5 ... 12.02.2013, 13:17:05
dopal Ok, chyba masz rację...za duzo tego było od wczora... 12.02.2013, 13:21:24 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 18:09 |