2013-10-05 6 views
0

У меня есть две таблицы, одна из которых - «категории» и «продукты».Выбор данных и полей объединения

категорий таблица имеет два основных filds:

  • CATEGORY_ID
  • category_slug

"category_slug" это значение для дружественных URL.

Таблица продуктов У меня есть поле под названием «category_id», которое заполняется идентификатором категории.

Что происходит, так как я работаю с дружественными URL-адресами, у меня нет идентификатора категории, у меня есть только слизняк.

Что мне нужно сделать: конвертировать «слизню» по «id» и посмотреть на еду в таблице и получить всю пищу в этой категории.

Немного трудно объяснить, но, я думаю, вы поняли.

CREATE TABLE IF NOT EXISTS `categories` (
    `category_id` int(11) NOT NULL AUTO_INCREMENT, 
    `category_name` varchar(255) NOT NULL, 
    `category_slug` varchar(255) NOT NULL, 
    PRIMARY KEY (`category_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; 

CREATE TABLE IF NOT EXISTS `foods` (
    `food_id` int(11) NOT NULL AUTO_INCREMENT, 
    `food_name` varchar(255) NOT NULL, 
    `category_id` int(11) NOT NULL, 
    PRIMARY KEY (`food_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

ответ

1

Это простое внутреннее соединение:

SELECT food_name 
FROM foods 
JOIN categories 
USING (category_id) 
WHERE category_slug = :slug 
Смежные вопросы