![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 18.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam tabelę o następującej strukturze:
Kod (int) IDucznia | (string) imie | (string) nazwisko | (string) IDklasy pole IDklasy zawiera nazwę klasy, np. 1a, 1b itd. Mam za zadanie utworzyć z tej jednej tabeli zestawienie chłopców i dziewczynek w poszczególnych klasach. Na razie udało mi się zrobić coś takiego:
ale to mi zwraca tylko ilość kobiet w poszczególnych klasach. Nie doszedłem jak teraz zliczyć odrzucone rekordy, żeby dostać ilość chłopców. Jak mam zmodyfikować zapytanie? Ten post edytował michail_w 24.11.2010, 14:14:32 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 555 Pomógł: 84 Dołączył: 20.02.2008 Skąd: Małopolska Ostrzeżenie: (0%) ![]() ![]() |
Ze składni SQL obstawiam, że jest to pisane w Accessie, treść zadania gdzieś widziałem... czyżby próbna matura z informatyki?
![]() Biorąc pod uwagę sposób w jaki zliczasz kobiety, masz 2 wyjścia lziczając chłopców 1. Zliczyć osoby, których imię NIE kończy się na literę "a". 2. Zliczyć wszystkich i odjąć ilość kobiet, którą to już policzyłeś. To pierwsze możesz uzyskać stosując to same zapytanie z użyciem "NOT LIKE" zamiast "LIKE" (nie wiem czy Access to obsługuje, no ale warto sprawdzić) To drugie powinieneś natomiast wiedzieć. Ten post edytował Skie 24.11.2010, 14:23:54 -------------------- Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+ Strona Domowa | Elradia MMORPG FireFox: make the web better. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 20 Dołączył: 19.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
SELECT IDklasy,(SELECT count(imie) FROM Uczniowie)as wszyscy,
(select count(imie) FROM Uczniowie WHERE imie LIKE "*a") as kobiety, (SELECT count(imie) FROM Uczniowie)-(select count(imie) FROM Uczniowie WHERE imie LIKE "*a") as roznica from uczniowie group by idklasy ; p.s. mozesz zmodyfikowac tak: SELECT a.IDklasy,(SELECT count(imie) FROM Uczniowie where idklasy=a.idklasy)as wszyscy, (select count(imie) FROM Uczniowie WHERE imie LIKE "*a" and idklasy=a.idklasy) as kobiety, (SELECT count(imie) FROM Uczniowie where idklasy=a.idklasy)-(select count(imie) FROM Uczniowie WHERE imie LIKE "*a" and idklasy=a.idklasy) as roznica from uczniowie a group by a.idklasy ; Ten post edytował poli25 24.11.2010, 14:47:04 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 2.05.2025 - 08:33 |