Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: liczenie powiązanych elementów
Forum PHP.pl > Forum > Bazy danych > MySQL
php programmer
Kurcze niby proste, ale coś mi nie wychodzi,
Jaj skonstruowac zapytanie, które
oprócz wartości poszczególnych kolumn w tablicy USER,
jako następną kolumnę weźme liczbę wierszy z DRUGIEJ TABELI,
gdzie DRUGIEJ_TABELI.idUser = idUsera aktualnego wiersza,

normanie wziął bym podzapytanie ale moja wersja MySQL nie obsługuje podzapytań
bendi
  1. SELECT pt.*, COUNT(1) AS liczba_wierszy FROM PIERWSZA_TABELA pt
  2. OUTER JOIN DRUGA_TABELA dt USING(idUsera)
  3. -- where -- twój warunek
  4.  
  5. GROUP BY idUsera
php programmer
Wykorzysłem otrzymaną podpowiedź i utworzyłem takie oto zapytanie
Jednak jest pewien problem

  1. <?php
  2. $this->sSql = " SELECT tabUser.*,
  3.  COUNT(1) AS notowania_gieldowe,
  4.  COUNT(2) AS notowania_walut_NBP,
  5.  tabmodnews.sFrom, tabmodnews.bEmail, tabmodnews.bWeek
  6. FROM  tabUser
  7. LEFT  JOIN tabmodnews ON tabUser.idUser = tabmodnews.idUser
  8. LEFT  OUTER JOIN tabmodstock  ON tabUser.idUser = tabmodstock.idUser
  9. LEFT  OUTER JOIN tabmodcurrency2 ON tabUser.idUser = tabmodcurrency2.idUser
  10. GROUP BY tabmodstock.idUser
  11. ORDER BY ".$sOrder.$limit;
  12. ?>


lecz tu pojawia się problem, otóż
kolumna notowania_gieldowe oraz notowania_walut_NBP
są w kazdym wierszu takie same, a chciałbym uzystkac efekt taki, że
notowania_gieldowe = ilosc powiązanych wierszy z tabeli tabmodstock
notowania_walut_NBP = ilosc powiązanych wierszy z tabeli tabmodcurrency2
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.