Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Liczenie rekordów kilku tabel
--SLQ--
post
Post #1





Goście







Mam 16 tabel - jak można w jednym zapytaniu policzyć rekordy każdej z nich - tzn. zastąpić:

$ilosc_1 = mysql_num_rows(mysql_query("SELECT * FROM tabela_1 WHERE cos='1'"));
$ilosc_2 = mysql_num_rows(mysql_query("SELECT * FROM tabela_2"));
$ilosc_3 = mysql_num_rows(mysql_query("SELECT * FROM tabela_3 WHERE cos='2'"));
...
...

jednym zapytaniem z możliwością postawienia warunku w niektórych z nich.

Z góry dziękuje za odpowiedź.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
--SLQ--
post
Post #2





Goście







Zrobiłem coś takiego:

"SELECT * FROM (
( SELECT COUNT(*) FROM tabela_1 WHERE cos='0' ) UNION ALL
( SELECT COUNT(*) FROM tabela_2 WHERE ) UNION ALL
( SELECT COUNT(*) FROM tabela_3 WHERE cos='1' ) UNION ALL
...
...
) AS tmp"

Jest to dobre rozwiązanie ? - czy można zrobić to bardziej "optymalnie" ?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 04:59