Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: stworzenie wirtualnej kolumny tabeli z drugiego zapytania
Forum PHP.pl > Forum > Bazy danych
wolguy
Witam, mam pewien z problem z MySQLem, który do tej pory rozwiązuję "na około". Powiedzmy, że mam tabelę z użytkownikami i drugą tabelę z postami. Chodzi o to, aby przy wybieraniu danego użytkownika z bazy danych poprzez
  1. SELECT * FROM users WHERE id = jakiś_id

dodać kolumnę z drugiego zapytania, które zlicza ilość postów użytkownika poprzez np.
  1. SELECT COUNT(*) FROM posts WHERE author = jakiś_id

Czy jest to wogóle możliwe? Obecnie do zrealizowania tego celu muszę wykonywać aż 2 zapytania. Proszę o pomoc.
Norbas
O ile id z tabeli 'users' oraz author z tabeli 'posts' oznaczają identyfikator użytkownika, to zapytanie dla użytkownika o identyfikatorze=1
  1. SELECT u.*, COUNT(p.author) AS ile
  2. FROM users AS u, posts AS p
  3. WHERE u.id=1 AND u.id=p.author
  4. GROUP BY p.author


Poprawione (działa również, gdy liczba postów=0):
  1. SELECT u.*, COUNT(p.author) AS ile
  2. FROM users AS u
  3. LEFT JOIN posts AS p ON p.author=u.id
  4. WHERE u.id=1
  5. GROUP BY p.author
wolguy
Dzięki, właśnie o to chodziło. Kombinowałem z dodawaniem COUNT ale brakowało mi szczegółów ;-)
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.