Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] COUNT i kilka tabel
Forum PHP.pl > Forum > Bazy danych > MySQL
Crozin
mam takie zapytanie:
  1. SELECT COUNT(g.ID) AS Galleries, COUNT(p.ID) AS Pictures FROM galleries g, pictures p

w tabeli galleries mam 11 rekordow, a w pictures jeden.
niestety zapytanie zwraca mi cos takiego:
  1. Array
  2. (
  3. [Galleries] => 11
  4. [Pictures] => 11
  5. )


jak powinno wygladac zapytanie?
JaRoPHP
Napisz jak wyglądają poszczególne bazy (ich strukturę), oraz przykładową zawartość.

Cytat(Crozin @ 23.12.2006, 21:24:43 ) *
jak powinno wygladac zapytanie?
Nie wiem, bo nie napisałeś, co chcesz otrzymać dzięki zapytaniu SQL.

Zapytanie przedstawione działa zgodnie z oczekiwaniami - zwraca iloczyn kartezjański dwóch tabel (jak będziesz miał w tabeli pictures 2 rekordy, zapytanie zwróci ich 22).
Crozin
fakt - nie napisalem dokladnie o co mi chodzi...
chce aby zapytanie zwrocilo mi liczbe wszystkich rekordow z dwoch tabel... tak wiec zwrocony wynik powinien byc taki:
Kod
Array
(
    [Galleries] => 11
    [Pictures] => 1
)


stroktora tabel... chociaz nie wiem czy to tutaj waze :]
pictures - ID | Name | Title | Description | Created | Gallery | Views
galleries - ID | Name | Description | Created
JaRoPHP
Cytat(Crozin @ 23.12.2006, 22:01:47 ) *
stroktora tabel... chociaz nie wiem czy to tutaj waze :]
Rzeczywiście struktura nie jest ważna, ale myślałem, że tabele są jakoś ze sobą powiązane...

Nie jestem pewny, czy uda się zbudować zapytanie, które zwróci liczbę wierszy dwóch różnych tabel w kolumnach (szczerze, to wątpię w to).
Ale rozwiązanie, które może Ci wystarczy opiera się na UNIACH - lecz wynik bedzie zwrócony w jednej kolumnie, w kilku wierszach (w Twoim przypadku w dwóch).
  1. SELECT COUNT(galleries.ID) FROM galleries AS ilosc
  2. UNION
  3. SELECT COUNT(pictures.ID) FROM pictures
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.