2015-04-07 1 views
0

Вы можете помочь мне подготовить правильный запрос?Как сравнить результат одного запроса с результатом запроса seckond в MySQL

мне нужно получить category_id из таблицы category_description где name = :name, и проверить, является ли запись в таблице category где parent_id = category_id из первого запроса.

Таблица category_description:

|category_id| name | 
-------------------- 
| 3   | X | 
-------------------- 
| 2   | Y | 
-------------------- 
| 1   | Z | 
-------------------- 

категория Таблица:

category_id | parent_id | 
------------------------- 
| 3   | 2   | 
------------------------- 
| 2   | 1   | 
------------------------- 
| 1   | 0   | 
------------------------- 

Так нужно взять из первой таблицы по имени, после этого мне нужно принять значение parent_id из row = category_id из первой таблицы и проверки является ли строка с category_id = parent_id

Короче, мне нужно проверить, существует ли категория. Если не добавить, если да пропустить.

я сделать что-то вроде этого:

SET @v1 = (SELECT category_id FROM category_description where name =:category_name); 

SET @v2 = (SELECT parent_id FROM category WHERE category_id = @v1); 

SELECT COUNT(*) records FROM category_description,category 

WHERE category.category_id = @v2 

AND category_description.name =:category_name 

, но он не работает, когда

SET @v1 = (SELECT category_id FROM category_description where name =:category_name); 

возвращение более одного результата, и PDO оленьей кожи поддерживают несколько запросов. HELP ME PLS :(

+0

'SELECT category_id FROM category_description cd INNER JOIN category c ON (c.parent_id = cd.category_id) WHERE c.name =: name' –

+1

Примеры данных и желаемые результаты действительно помогут в этом вопросе. –

+0

does not work:" Column 'category_id' in список полей неоднозначен » – neomm

ответ

0

Это не совсем понятно, но я думаю, что вы можете получить его с простым присоединиться как

SELECT COUNT(*) records FROM category_description,category 
WHERE category.parentid = category_description.categoryid 
AND category_description.name =:NAME 

Так здесь вы получите количество строк, соответствующих с именем, которое вы предоставили

+0

Я обновил сообщение, пожалуйста, помогите мне :) – neomm

Смежные вопросы