如何在MySQL中比较一个请求的结果和seckond请求的结果

时间:2015-04-07 12:54:53

标签: mysql request compare

你可以帮我准备正确的查询吗?

我需要从表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的{​​{1}}值并检查是否为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

返回多个结果,PDO不支持多个查询。帮助我PLS :(

1 个答案:

答案 0 :(得分:0)

它不完全可以理解,但我认为你可以通过简单的连接来获得它,如

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

因此,您将获得与您提供的名称相匹配的行数