![]() |
![]() |
![]()
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. -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 10:26 |