2011-09-12 5 views
0

J'ai une base de données MySQL avec trois tables: les catégories (peuvent être des sous-catégories), les items et les item_categories (car les items peuvent appartenir à plusieurs catégories).Pour les catégories listées, obtiens la liste des offres disponibles

code SQL:

CREATE TABLE `categories` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
`parent_id` INT NOT NULL , 
`name` TEXT NOT NULL 
) 

CREATE TABLE `items` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
`cat_id` INT, 
`title` TEXT NOT NULL , 
`price` VARCHAR(10) NOT NULL 
) 

CREATE TABLE `item_categories` (
`id` INT NOT NULL AUTO_INCREMENT , 
`item_id` INT NOT NULL , 
`cat_id` INT NOT NULL , 
PRIMARY KEY (`id`) 
) 

La question est: une liste des catégories comment obtenir le nombre d'offres?

+0

où est l'offre? –

Répondre

1
SELECT COUNT(*) cnt, cat_id 
FROM item_categories 
WHERE cat_id IN (1, 2, 3) 
GROUP BY cat_id 

(1, 2, 3) est une liste des catégories qui vous intéressent au sujet

+0

Fonctionne parfaitement, merci beaucoup. –

Questions connexes