![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 788 Pomógł: 1 Dołączył: 17.09.2004 Ostrzeżenie: (10%) ![]() ![]() |
Witam serdecznie,
mam mały problem z zapytaniem SQL. Mam coś takiego:
Które zwraca mi wyniki w formie: id_kategori- nazwa_kategori- id_podkategori- nazwa_podkategori- id_podpodkategori- nazwa_podpodkategori 1- Kategoria 1- 2- Podkategoria 2- 3- Podpodkategoria 3 1- Kategoria 1- 3- Podkategoria 3- 2- Podpodkategoria 2 1- Kategoria 1- 3- Podkategoria 3- 3- Podpodkategoria 3 2- Kategoria 2- 1- Podkategoria 1- 1- Podpodkategoria 1 chciałbym dodać kolejną kolumnę "ilośćkategorii" i "ilość podkategorii" w których znajdowała by się ilość kategorii i podkategorii. W tym przypadku wyglądałoby to tak: id_kategori- nazwa_kategori- id_podkategori- nazwa_podkategori- id_podpodkategori- nazwa_podpodkategori-ilośćkategorii-ilość podkategorii 1- Kategoria 1- 2- Podkategoria 2- 3- Podpodkategoria 3-3 (są 3 kategorie 1)-1 (jest 1 podkategoria 2) 1- Kategoria 1- 3- Podkategoria 3- 2- Podpodkategoria 2-3 (są 3 kategorie 1)-2 (są 3 podkategoria 3) 1- Kategoria 1- 3- Podkategoria 3- 3- Podpodkategoria 3-3 (są 3 kategorie 1)-2 (są 3 podkategoria 3) 2- Kategoria 2- 1- Podkategoria 1- 1- Podpodkategoria 1-1 (jest 1 kategoria 1)-1 (jest 1 podkategoria 1) Wie ktoś może jak to zrobić? Z góry dziękuje za pomoc, North |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 18 Dołączył: 4.09.2010 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat(northwest) chciałbym dodać kolejną kolumnę "ilośćkategorii" i "ilość podkategorii" w których znajdowała by się ilość kategorii i podkategorii. W tym przypadku wyglądałoby to tak: id_kategori- nazwa_kategori- id_podkategori- nazwa_podkategori- id_podpodkategori- nazwa_podpodkategori-ilośćkategorii-ilość podkategorii Wie ktoś może jak to zrobić? zazwyczaj group by i count(*) dają radę. ogólnie: select A, B, count( C ), count(D) from t1, t2 where t1.id=t2.id group by A,B; może być zliczanie unikalnych C i D: select A, B, count(distinct C), count(distinct D) from t1, t2 where t1.id=t2.id group by A,B; możesz powyższe rozpisać również korzystając z joinów - to są zapisy równoważne. Ten post edytował uupah5 12.04.2011, 09:37:17 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 17:04 |