Задавайте вопросы, мы ответим
Вы не зашли.
Всем привет.
Вообщем такой вопрос у меня ,сам не могу дойти ,может поможете.
Вообщем пишу модик.
Есть запрос в базу :
$res = sql_query("SELECT torrents. * FROM torrents ORDER BY id DESC LIMIT 0 , 5 ") or sqlerr(__FILE__, __LINE__);
$num = mysql_num_rows($res);
Им я вывожу торенты ,последние 5... , Но там странная связка , и получается что сколько раздающих,качающих в таблице trackers ,мне нужно ,что типо :" SUM(trackers.seeders) AS seeders, SUM(trackers.leechers) AS leechers " из неё выдернуть ,+ привязка по ид ,поэтому надо как то впихнуть этот запрос ,в тот что у меня изначально выложен.
Если очень интересно ,или не совсем понятно могу выкинуть сюда весь код...
Неактивен
Весь код не надо
Я правильно понимаю, что Вы хотите что-то такое?
Неактивен
Что-то не получилось...
Ответ от сервера MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*), COUNT(l.*) FROM torrents t JOIN seeders s ON t.id = s.torrent_id JOIN leeche' at line 1
в /var/www/vhosts/мойдомен,ру/httpdocs/blocks/block-torrents.php, линия 14
Запрос номер 13.
Отредактированно vengr (28.04.2010 13:42:39)
Неактивен
Да, моя бага. Более того, видимо, в 6 утра плохо работали мозги уже — там ошибка
в логике — такая группировка просто не будет работать
SELECT t.*,
(SELECT COUNT(*) FROM seeders WHERE torrent_id = t.id) seeders,
(SELECT COUNT(*) FROM leechers WHERE torrent_id = t.id) leechers
FROM torrents t
ORDER BY t.id DESC
LIMIT 5;
Неактивен
Всё равно не выходит. Попробую сам разобратся.
Неактивен
Так должно работать, какую ошибку пишет?
Неактивен
Ответ от сервера MySQL: Table 'admin_test.seeders' doesn't exist
в /var/www/vhosts/домен/httpdocs/blocks/block-torrents.php, линия 13
Запрос номер 13.
Ещё разок поясню
есть уже запрос в таблицу torrents
$res = sql_query("SELECT torrents. * FROM torrents ORDER BY id DESC LIMIT 0 , 5 ") or sqlerr(__FILE__, __LINE__);
который у меня выводит 5 последних торрентов. Но в этой таблице нет сид/лич . Они в таблице trackers
Чтобы вывести я делаю так - SUM(trackers.seeders) AS seeders, SUM(trackers.leechers) AS leechers , из таблицы trackers / Мне надо всё в один запрос сделать я так думаю что то типо " GROUP BY torrents.id " в конце запроса.
Что бы можно в коде уже сидов и лич дёргать типо - $row['seeders']
Отредактированно vengr (28.04.2010 22:28:56)
Неактивен
Структуру табличек покажите тогда, пожалуйста.
Если я правильно могу телепатировать, то с Вашей структурой надо
SELECT t.*, tr.*
FROM torrents t, trackers tr
WHERE t.id = tr.torrent_id
ORDER BY t.id DESC
LIMIT 5
Но смысла в такой структуре я не вижу
Неактивен