Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как вытащить данные из другой таблицы в цикле
Покинул форум
Сообщений всего: 243
Дата рег-ции: Авг. 2012
Помог: 0 раз(а)
[+][+]
Есть рубрики. Они в одной таблице, нужно вытащить количество записей в этих рубриках. Для этого надо делать запрос в другую таблицу. Моя вариант приведённый в цикле, когда каждый раз вытаскивается из бд кажется бредовым.
Как оптимизировать этот код?
Покинул форум
Сообщений всего: 243
Дата рег-ции: Авг. 2012
Помог: 0 раз(а)
[+][+]
Допустим в цикле не рубрики, а записи. И нужно вытащить рубрику и/или автора. В таблице с записями хранятся id. Как их загрузить в цикл без подобного запроса каждый раз
----- Не следует бояться зайти за пределы того, что считается возможным – ибо именно там находится успех.
Мелкий
Отправлено: 21 Июля, 2014 - 15:08:16
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Всё так же джойны. Основная рабочая лошадка всех реляционных баз данных.
----- PostgreSQL DBA
livote
Отправлено: 21 Июля, 2014 - 15:27:01
Частый гость
Покинул форум
Сообщений всего: 243
Дата рег-ции: Авг. 2012
Помог: 0 раз(а)
[+][+]
Мелкий, а можно на моём примере join показать?
----- Не следует бояться зайти за пределы того, что считается возможным – ибо именно там находится успех.
Мелкий
Отправлено: 21 Июля, 2014 - 15:35:41
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Запросто, но вряд ли имеет смысл в качестве примера.
SELECT id, url, name, recordscount FROM category JOIN(
SELECT category AS id, count(0)AS recordscount FROM allnot GROUPBY id
) categorycount USING(id)ORDERBY name
----- PostgreSQL DBA
livote
Отправлено: 21 Июля, 2014 - 16:31:21
Частый гость
Покинул форум
Сообщений всего: 243
Дата рег-ции: Авг. 2012
Помог: 0 раз(а)
[+][+]
Ох я горе-программистер.
Если, например, больше 1 заметки то recordscount всегда = 1, а одно и тоже дублируется (Добавление)
строки с одним id не объединяются
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.