Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak pozbyć się podzapytań ?
Forum PHP.pl > Forum > Bazy danych > MySQL
legorek
Witam!

Poczytałem trochę o podzapytanie w MySQL i z głowy napisałem taki kod:

  1. SELECT count(forum_posty.id)
  2. FROM forum_posty WHERE forum_posty.id_tematu = (SELECT id_tematu
  3. FROM forum_posty WHERE id='$id') AND forum_posty.DATA < (SELECT DATA
  4. FROM forum_posty WHERE id='$id') GROUP BY forum_posty.id


Jak się można domyślić, ma policzyć posty o dacie starszej niż post o podanym $id i umieszczone w tym samym temacie co post o podanym id. Nie wiem czy działa ponieważ niestety na serwerze z którego korzystam jest MySQL 4.0, a podzapytania są dopiero w 4.1. Teraz pytanie jak zmodyfikowac ten kod aby zadziałał na 4.0.
FiDO
Sprobuj tak:
  1. SELECT COUNT(*)
  2. FROM forum_posty p
  3. LEFT JOIN forum_posty p2 ON (p2.id = $id)
  4. WHERE p.id_tematu = p2.id_tematu AND p.DATA < p2.DATA
legorek
Dzięki o to mi właśnie chodziło :-)
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-2024 Invision Power Services, Inc.