Вопрос про MySQL

MySQL БД

Подскажите, есть две таблицы.

--
-- Структура таблицы `SPLET_category`
--

CREATE TABLE IF NOT EXISTS `SPLET_category` (
`id` int(11) NOT NULL auto_increment,
`name` text NOT NULL,
`position` int(11) NOT NULL,
`alias` text NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `position` (`position`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

--
-- Дамп данных таблицы `SPLET_category`
--

INSERT INTO `SPLET_category` (`id`, `name`, `position`, `alias`) VALUES
(1, 'тест234', 4, 'test2'),
(5, 'Тестовая', 10, 'test');

-- --------------------------------------------------------

--
-- Структура таблицы `SPLET_recipe`
--

CREATE TABLE IF NOT EXISTS `SPLET_recipe` (
`id` int(10) NOT NULL auto_increment,
`alias` text NOT NULL,
`title` text NOT NULL,
`ingredients` text NOT NULL,
`recipe` text NOT NULL,
`category` int(11) NOT NULL,
`date` date NOT NULL,
`show` set('0','1') NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;

--


Собственно как мне составить один запрос.
Идет выборка всех данных с таблицы SPLET_recipe, но вместо id в поле category, надо подставить имена категорий, взятых с таблицы SPLET_category

С такими вещами особо не дружу, но хотелось бы. Составил запрос

SELECT `SPLET_recipe`.`alias`,`SPLET_recipe`.`title`, `SPLET_category`.`alias`
FROM `SPLET_category`, `SPLET_recipe`
WHERE `SPLET_recipe`.`category` = `SPLET_recipe`.`id`
AND `SPLET_category`.`alias` = '$cat_view'
AND `SPLET_recipe`.`show` = '1'

Работает не правильно.
Почему? И как сделать правильно?

Примечание:
MyISAM вроде ключи не поддерживает

Примечание:
Т.е. on - это указывает как склеивать таблицы?

Примечание:
И не работает с конструкцией ON
Ответы:
вместо
WHERE `SPLET_recipe`.`category` = `SPLET_recipe`.`id`
надо написать
WHERE `SPLET_recipe`.`category` = `SPLET_category`.`id`
внешние ключи указаны?


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.