Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Filtrowanie danych
Forum PHP.pl > Forum > Bazy danych > MySQL
spenalzo
Hej,
mam taki oto problem:
Mam dwa zapytania:
[php:1:9e4e477143]<?php
$q=mysql_query("SELECT * FROM tabela");
...
for
...
$qf=mysql_query("SELECT count(ID) FROM tabela2 WHERE active='1' AND userid='".$t["ID"]."'");
?>[/php:1:9e4e477143]
gdzie $t[ID] to numery z pierwszego zapytania.

Czy da się to zrobić jednym zapytaniem :oops: bo znacznie by to uprościło pracę?
Kos-TEK
[php:1:256746e064]<?php
$q=mysql_query("SELECT count(tabela2.ID) as licznik FROM tabela, tabela2 WHERE tabela2.active='1' AND tabela2.userid=tabela.ID");
?>[/php:1:256746e064]
Powinno dzialac, ale pewnosci nie mam.
delorian
<bez_konkretów>
Odpowiedź zależy od rodzaju danych i ich powiązania ze sobą, oraz z wersji MySQL'a, która używasz. Jeśli dane są powiązane to zapewne isntnieje taka możliwość, chociaż niekoniecznie.
</bez_konkretów>
uboottd
[sql:1:bb7e2d0862]
SELECT tabela2.id, count(tabela2.id)
FROM tabela, tabela2
WHERE active=1 and tabela2.id = tabela.id
GROUP BY tabela.id
[/sql:1:bb7e2d0862]

Kos-TEK - zapomniales o group by
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.