Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zliczanie danych z trzech pól
kilab
post
Post #1





Grupa: Zarejestrowani
Postów: 180
Pomógł: 19
Dołączył: 4.11.2007

Ostrzeżenie: (0%)
-----


Witam, na początku napiszę co chcę osiągnąć.
Mam w tabeli 'student' kilka pól opisujących daną osobę (imię, nazwisko, wiek, ...), z których teraz najważniejsze jest to, które opisuje szkoły do jakich dana osoba chodziła. Podobnie sprawa ma się do naszj-klasy. Chcę zliczyć ilość wystąpień danej szkoły i wyświetlić ranking szkół, do której chodziło najwięcej osób. Gdyby było jedno pole, użyłbym COUNT i bym zliczył, jednak każda osoba może dopisać kilka szkół, stworzyłem więc 3 pola - 'szkoła1', 'szkoła2', 'szkoła3'. Użyłem COUNT i UNION, byłoby dobrze gdyby jednak rekordy powtarzające się we wszystkich polach były dodawane do siebie i wyświetlana suma z trzech pól, a nie dla każdego oddzielnie. Tutaj utknąłem. Pomyślałem teraz, że może lepszym rozwiązaniem będzie utworzenie kolejnej tabeli 'szkoły', a w niej 'id', 'id_studenta', 'nazwa_szkoły' i dalej kombinować. I pytanie do was, które rozwiązanie będzie lepsze? Może jest jeszcze inny sposób na to? Jak zliczyć ilość wystąpień danej szkoły?
Piszę to w tym dziale ponieważ chciałbym przy tym pobraniu ilości uniknąć maksymalnie kodu PHP i jeśli możliwe wykonać jednym zapytaniem do bazy.
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zmien strukture na:
SZKOLA
-id
-nazwa
-....

STUDENT
-id
-imie
-nazwisko
-....

SZKOLA_STUDENT
-id_student
-id_szkola
-rok
-....

Mając taką strukturę łatwo i szybko wszystko załatwisz
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 09:40