![]() |
![]() |
![]()
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%) ![]() ![]() |
To jest ten fragment co pisałem wcześniej:
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 Nie wiem czy to jasne. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 21:27 |