Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie rekordów z pięciu tabel w jednej tabeli
Forum PHP.pl > Forum > Bazy danych > MySQL
nati199214
Witam,
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

  1. SELECT
  2. u.Login,
  3. u.Data_utworzenia_konta,
  4. COUNT(k.ID_kwestionariusza),
  5. MAX(k.Data_utworzenia),
  6. COUNT(ug.Email_goscia)
  7. FROM uzytkownicy u
  8. LEFT JOIN uzytkownicy_goscie ug ON u.Login=ug.Login
  9. 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.

sazian
GROUP BY u.Login
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.