chcę zrobić select/widok, w każdym razie coś co wyświetli mi jedną tabele, która składa się z pięciu tabel. To ma być lista użytkowników i chciałabym, żeby kolumny zawierały:
Login użytkownika | Data utworzenia konta | Ilość dodanych kwestionariuszy przez użytkownika | Ostatnio dodany kwestionariusz | Ilość gości dodanych przez użytkownika | Ilość wygenerowanych zaproszeń dla gości przez użytkownika |
Oczywiście nazwy byłyby o wiele krótsze, ale napisałam tak, żeby było jaśniej.
Musiałabym wykorzystać do wyświetlania takie kolumny:
uzytkownicy.Login - Login to PK tabeli użytkownicy
uzytkownicy. Data_utworzenia_konta - kolumna w tabeli użytkownicy
count(kwestionariusze.ID_kwest) - musiałby zliczać i podawac liczbę kwestionariuszy którą dany użytkownik dodał. Kwestionariusza mają FK do Login(w tab uzytkownicy)
MAX(kwestionariusze.Data_utworzenia_kwest) - podaje ostatnio dodany kwestionariusz przez danego użytkownika
count(uzytkownicy_goscie.Email_goscia) - zlicza dadanych gości przez danego użytkownika. Tabela uzytkownicy_goscie to tab. haszująca miedzy tabelami użytkownicy a goście. W tabeli goście PK to Email_gościa
count(zaproszenia.ID_zaproszenia) - zlicza zaproszenia wysłane do gosci przez użytkownika. Tab zaproszenia ma FK do goscie.Email_goscia
Za dużo tych tabel i nie wiem jak to wykombinować. PRóbowalam różnie
SELECT u.Login, u.Data_utworzenia_konta, COUNT(k.ID_kwestionariusza), MAX(k.Data_utworzenia), COUNT(ug.Email_goscia) FROM uzytkownicy u LEFT JOIN uzytkownicy_goscie ug ON u.Login=ug.Login LEFT JOIN kwestionariusze k ON u.Login=k.Login
Takie zpaytanie zwraca mi jeden rekord, a powinien wyświetlać mi wszystkie loginy i odpowiednio dane o nich.
Ma ktoś jakiś pomysł ?
Z góry dziekuję za pomoc.