你能帮我准备正确的查询吗?
我需要从表category_description
(其中name = :name
)中获取category_id
,并检查第一次查询中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 |
-------------------------
所以需要按名称从第一个表中获取值,之后我需要从第一个表格的row = category_id
中获取parent_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不支持多个查询。请帮助我:(
这不是完全可以理解的,但我认为你可以通过这样的简单连接来获得它
SELECT COUNT(*) records FROM category_description,category
WHERE category.parentid = category_description.categoryid
AND category_description.name =:NAME
因此,在这里,您将获得与您提供的名称匹配的行数