Problem z grupowaniem sql

Odpowiedz Nowy wątek
2020-01-06 17:00

Rejestracja: 7 lat temu

Ostatnio: 1 miesiąc temu

0

Cześć,
Prośba o pomoc jak powinienem to pogrupować, bo się już pogubiłem w tym wszystkim.
Zapytanie ma wyświetlić wszystkie prowadzone zajęcia - tytuł, nazwisko i imię prowadzącego, nazwę przedmiotu, typ zajęć oraz nazwę grupy studenckiej

select tytulnaukowy.nazwa, wykladowca.imie, wykladowca.nazwisko, przedmiot.nazwa, charakter.nazwa, grupa.nazwa
    from charakter, grupa, przedmiot, tytulnaukowy, wykladowca, zajecia
    where wykladowca.id_tytul = tytulnaukowy.id_tytul
    and wykladowca.id_wykladowca = zajecia.id_wykladowca
    and przedmiot.id_przedmiot = zajecia.id_przedmiot
    and charakter.id_charakter = zajecia.id_charakter
    and grupa.id_grupa = zajecia.id_grupa
   group by grupa.id_grupa;
Z ciekawości: dlaczego nie wykorzystasz klauzuli join? - Patryk27 2020-01-06 17:05
Uczę się dopiero. - ProProgramer 2020-01-06 20:58
To zmień nicka... - wloochacz 2020-01-10 13:39

Pozostało 580 znaków

2020-01-06 18:03

Rejestracja: 11 miesięcy temu

Ostatnio: 15 minut temu

Lokalizacja: Miechów

1

Musisz pogrupowac po wszystkich kolumnach jakie masz w selekcie. W selekcie mogą byc kolumny po których grupujesz albo dzialasz na nich jakas funkcja agregujaca.

Pokaż pozostałe 3 komentarze
Inaczej się nie da - Tomek Pycia 2020-01-06 21:56
ale teraz mówię ogólnie, bo pisałem kilka zapytań i w większości wystarczyła jedna kolumna w group by. Od czego to zależy? - ProProgramer 2020-01-06 22:25
Pokaż te zapytania i napisz jaka to baza danych - Tomek Pycia 2020-01-07 07:09
@ProProgramer: w GROUP BY dajesz wszystkie kolumny, wg których grupujesz. Nie wyszczególniasz tych, przy których masz funkcje agregujące (MIN, MAX, SUM, COUNT, AVG...) oraz stałych (niezależnych od bieżącego rekordu). W niektórych silnikach bazodanowych możesz to zastąpić kluczem głównym, ale nie będę ci tu dodatkowo zaciemniał... - Marcin.Miga 2020-01-07 09:46
MySQL sobie radzi bez wypisania wszystkich kolumn w group by, nie wiem co on wtedy zwraca, ale błedem nie sypie ;) - Panczo 2020-01-07 13:28

Pozostało 580 znaków

2020-01-07 07:38

Rejestracja: 3 lata temu

Ostatnio: 1 godzina temu

1

No to czytamy: https://www.sqlpedia.pl/group-by-grupowanie-danych/

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0