![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 31.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Jestem na wymianie studenckiej, wykonuje projekt w Javie, ktory laczy sie z baza MySQL. Mam dwie tabele w mojej baze danych:
Potrzebuje wyswietlic ilosc rekordow z kwerendy, ktora wyswietla, jakie kategorie maja conajmniej jeden produkt. Innymi slowy ile jest takich kategorii, ktore maja conajmniej jeden produkt. Wpomniana kwerende udalo mi sie sklecic w ten sposob:
Czy ktos moze mi podpowiedziec jak teraz zliczyc, ile jest tych kategorii? ![]() ![]() pozdrawiam michcio |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 295 Pomógł: 7 Dołączył: 26.03.2004 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem, że chodzi Ci o to ile jest kategorii "aktywnych" czyli takich dla których obecnie są produkty a nie liczbę wszystkich kategorii.
Nie potrzeba do tego warunków WHERE - samo sprzężenie INNER wymusza integralność. To zapytanie zwraca listę nazw kategorii dla których istnieją produkty (z tej kategorii):
Natomiast ilość zwróconych rekordów można przechwycić np w php funkcją mysql_affected_rows(). W "C" działa to chyba podobnie - link . Zawsze można zapytać osobno o ilość takich wierszy:
Nie wiem czy to o to chodziło ![]() -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 31.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Niestety dalej nie znam odpowiedzi na moje pytanie . To co napisales w pierwszym zapytaniu zwraca taki sam wynik jak moje zapytanie, ale dziekuje za byc moze bardziej poprawne rozwiazanie.
Jednak meritum tego posta dalej nie jest rozwiazane. Dalej nie wiem, jak zliczyc kategorie, ktore maja conajmniej jeden produkt, poniewaz Twoje drugie zapytanie nie dziala taka jak trzeba. Zwraca mi kolumne N z wierszem "2" mimo, ze poprzednie zapytanie wyrzuca tylko jeden wynik. Krotko mowiac, nie dziala tak jak powinno ![]() Prosze o dalsze propozycje, to nie moze byc az takie trudne :/ pozdrawiam michcioh Rozumiem, że chodzi Ci o to ile jest kategorii "aktywnych" czyli takich dla których obecnie są produkty a nie liczbę wszystkich kategorii.
Nie potrzeba do tego warunków WHERE - samo sprzężenie INNER wymusza integralność. To zapytanie zwraca listę nazw kategorii dla których istnieją produkty (z tej kategorii):
Natomiast ilość zwróconych rekordów można przechwycić np w php funkcją mysql_affected_rows(). W "C" działa to chyba podobnie - link . Zawsze można zapytać osobno o ilość takich wierszy:
Nie wiem czy to o to chodziło ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 1 Dołączył: 6.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Może tak:
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 31.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Może tak:
dziekuje, dziala ![]() Moj kumpel z wymiany studenckiej zaproponowal jeszcze inne dobre rozwiazanie:
Ale w zyciu nie widzialem distinct w funkcji count. Mysle ze warto pokazywac takie rozwiazania takze ![]() dziekuje jeszcze raz i pozdrawiam ![]() michcioh |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 8.07.2025 - 03:39 |