Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Помогите объединить 2 MySQL запроса. (Mad Dog) 12/03/2009 - 16:13:12
      Re: Помогите объединить 2 MySQL запроса. (Diter) 15/03/2009 - 10:28:20
      Re: Помогите объединить 2 MySQL запроса. (Mad Dog) 17/03/2009 - 16:00:07
      Re: Помогите объединить 2 MySQL запроса. (Diter) 17/03/2009 - 16:46:00

> Original message text:
> From: Mad Dog - 12/03/2009 - 16:13:12
> Subject:Помогите объединить 2 MySQL запроса.
> -----------------
> Есть 2 таблицы category и pics:
>
> CREATE TABLE `category` (
> `id` mediumint(9) NOT NULL auto_increment,
> `title` text character set latin1 collate latin1_general_ci NOT NULL,
> `main_category` int(11) NOT NULL default '0',
> `moder` int(6) NOT NULL default '0',
> PRIMARY KEY (`id`),
> KEY `main_category` (`main_category`)
> ) ENGINE=MyISAM AUTO_INCREMENT=1376 DEFAULT CHARSET=latin1
>
>
> CREATE TABLE `pics` (
> `id` int(6) NOT NULL auto_increment,
> `title` text character set latin1 collate latin1_general_ci NOT NULL,
> `img` text character set latin1 collate latin1_general_ci NOT NULL,
> `thumb` text character set latin1 collate latin1_general_ci NOT NULL,
> `main_category` int(11) NOT NULL default '0',
> `category` int(11) NOT NULL default '0',
> `viewed` mediumint(9) NOT NULL default '0',
> `type` int(11) NOT NULL default '1',
> `embed` text character set latin1 collate latin1_general_ci NOT NULL,
> `rating` mediumint(255) NOT NULL default '0',
> `num_votes` varchar(255) character set latin1 collate latin1_general_ci NOT NULL default '0',
> `ratio` int(11) NOT NULL default '0',
> `width` int(11) NOT NULL default '0',
> `height` int(11) NOT NULL default '0',
> `pictime` int(11) unsigned NOT NULL default '0',
> `username` varchar(30) NOT NULL default 'Anonymous',
> `moder` int(6) NOT NULL default '0',
> `userip` varchar(15) NOT NULL default '',
> PRIMARY KEY (`id`),
> KEY `cat` (`category`),
> KEY `main_category` (`main_category`)
> ) ENGINE=MyISAM AUTO_INCREMENT=127360 DEFAULT CHARSET=latin1
>
>
>
> Есть 2 запроса которых нужно объединить:
>
> SELECT category.id, category.title FROM category WHERE category.main_category=$mcat ORDER BY category.title limit 0, 12
>
> SELECT COUNT(*) as rip FROM pics WHERE pics.category= $cat and pics.ratio=$rat GROUP BY pics.category
>
>
> где $cat во втором запросе это category.id в первом. [pics.category= category.id]
> $mcat, $rat - переменные принимающие любое значение...
>
> Запрос должен выдавать 12 значений (кроме последней страницы разумеется) category.id, category.title, rip, с учетом всех вышеперечисленных условий и самое главное где этот каунтер rip > 0!
>
> Результат должен быть похож на:
> http://fotohost.kpi.cc/images/46da3e2d12e5153f5179ea9fe809207c.jpg
>


From: Diter - 17/03/2009 - 16:46:00
Subject:Помогите объединить 2 MySQL запроса.
-----------------
А так?

SELECT * FROM
(SELECT category.id, category.title, COUNT(*) as rip
FROM category, pics
WHERE
category.main_category=$mcat AND
pics.category=category.id AND
pics.ratio=$rat
GROUP BY category.id,category.title
) as t
WHERE t.rip>0
ORDER BY t.title
LIMIT 0,12


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
35169



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |