![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 26.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam problem takiej oto tresci, musze napisac zdanie sql zliczajace ilosc krotek w kazdej podgrupie. Czy ktos moglby mi pomoc w tym? Nakierowac czy cos w tym stylu... select A, B, C from T1 group by A, B, C np w takim przykladzie musze wyswietlic dodatkowo licznosc kazdego ze zbiorow - A, B, C Bede wdzieczny za kazda wskazowke. Pozdrowka |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 73 Pomógł: 0 Dołączył: 9.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 26.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
tak jak podales dzialaloby dobrze dla 1 podgrupy, a chodzi o to aby zliczalo wszystkie podgrupy dane po select'cie.
Table ma taka postac: create table Zawodnicy ( NrZawodnika int, Imie varchar(15) not null, Nazwisko varchar(25) not null, Plec varchar(1) not null, check (upper(Plec) = 'M' or upper(Plec) = 'K'), RokUrodzenia int not null, NrKategorii int not null, NrKlubu int not null, Primary Key (NrZawodnika), Foreign Key NrKlubu References Kluby(NrKlubu), Foreign Key NrKategorii References Kategorie(NrKategorii) ); dane zawarte w tabeli sa mniej istotne, ale np chcialbym dajac takie zapytanie: select NrKategorii, count(NrKategorii), NrKlubu, count(NrKlubu) from Zawodnicy group by NrKategorii, NrKlubu (Te zapytanie jest niepoprawne) otrzymac ilosc krotek zawierajacych ten sam numer kategorii oraz liczbe krotek zawierajacych ten sam numer klubu. Rozpisujac to na dwa zapytania jest to trywialne caly problem polega na tym jak zrobic to na jednym zdaniu... (???) : ) |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 73 Pomógł: 0 Dołączył: 9.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
zgaduje, czy o to ci chodziło, chcesz w jednym zapytaniu wywalić ile jest klubów i ile kategorii
więc może o to ci chodzi
Ten post edytował spryciula 27.01.2007, 01:29:56 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 26.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Niestety nie dziala to tak jak powinno. Dobrze zgadles ze chce podac w jednym zapytaniu liczbe klubow i kategorii.
Musialem Twoje zapytanie troszke zmodyfikowac aby w ogole sie ruszylo, do nastepujacej formy:
a wynik otrzymany byl nastepujacy: ![]() Jak widac wyswietla wiele razy nrklubu = 1 , chodzi o to by pokazal ten numer raz i obok jego licznosc, to samo jest z nrkategorii, probowalem... Glowa mała : ) |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 73 Pomógł: 0 Dołączył: 9.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
wyświetla ci kilka razy ten sam numer klubu, ponieważ masz kilka kategorii, przypisanych do tego samego klubu, inaczej się nie da, zrobić zapytaniem sql'owym,
tak jak ty chcesz to zrobić, możesz tylko zrobić w pl/sql'u, robisz dwa kursory, jednym wyciągasz numer klubu i jego liczebność a drugim kursorem, po numerze klubu wyciągasz ilość kategorii i ich liczebność, a potem w programie(po begin) wyświetlasz, coś takiego zobacz obrazek i tak dalej Ten post edytował spryciula 27.01.2007, 18:46:46 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 26.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem, nie wiem
![]() Pozdrawiam |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 24.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Może taki myk pomoże:
Select A||' - '||Count(*) kod_ilosc from T1 group by A UNION Select B||' - '||Count(*) kod_ilosc from T1 group by B UNION Select C||' - '||Count(*) kod_ilosc from T1 group by C Bogdan Kaczmarek |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 03:02 |