Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: не получается посчитать количество из 2х таблиц
 
 автор: psychomc   (09.02.2010 в 18:47)   письмо автору
 
 

есть 2 таблицы (упростил структуру чтобы было нагляднее)

CREATE TABLE `stores_products` (                         
  `id_product` int(5) NOT NULL auto_increment,       
  `product_name` varchar(100) NOT NULL,
  `product_show` enum('yes','no') NOT NULL default 'yes',  
   PRIMARY KEY  (`id_product`),
) TYPE=MyISAM CHARACTER SET utf8

CREATE TABLE `stores_products_images` (
  `id_image` int(6) NOT NULL auto_increment, 
  `image_show` enum('yes','no') NOT NULL default 'yes',      
  `id_product` int(5) NOT NULL,
   PRIMARY KEY  (`id_image`),  
   KEY  (`id_product`)
) TYPE=MyISAM CHARACTER SET utf8;


Как одним запросом посчитать количество товаров, у которых есть хотя бы одно открытое изображение?

делаю так:

SELECT COUNT(stores_products.id_product)
FROM `stores_products`
JOIN `stores_products_images` ON stores_products.id_product = stores_products_images.id_product
WHERE  stores_products.product_show = 'yes'
AND stores_products_images.image_show = 'yes'
GROUP BY stores_products.id_product


в результате выдаёт верное количество строк, но результат запроса не тот, который мне нужен. покажите пожалуйста как правильно.
спасибо


(перенесите пожалуйста тему в mysql, не тот форум выбрал)

  Ответить  
 
 автор: psychomc   (09.02.2010 в 19:10)   письмо автору
 
   для: psychomc   (09.02.2010 в 18:47)
 

хм! проблема решилась вот так:

SELECT COUNT(DISTINCT stores_products.id_product)
FROM `stores_products`
JOIN `stores_products_images` ON stores_products.id_product = stores_products_images.id_product
WHERE  stores_products.product_show = 'yes'
AND stores_products_images.image_show = 'yes'


это грамотно с точки зрения sql?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования