首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何缩短此sql查询

如何缩短此sql查询
EN

Stack Overflow用户
提问于 2017-11-04 16:42:19
回答 1查看 31关注 0票数 1

我在缩短这个sql代码时遇到了问题:

代码语言:javascript
复制
SELECT
(SELECT name FROM content_categories ccb WHERE ccb.id = (SELECT parent FROM content_categories cc WHERE cc.id = 57)) AS parent,
(SELECT id FROM content_categories ccb WHERE ccb.id = (SELECT parent FROM content_categories cc WHERE cc.id = 57)) AS parent_id,
(SELECT alias FROM content_categories ccb WHERE ccb.id = (SELECT parent FROM content_categories cc WHERE cc.id = 57)) AS parent_alias,
(SELECT name as subcategory FROM content_categories ccb WHERE ccb.id = 57) as sub,
(SELECT id as subcategory FROM content_categories ccb WHERE ccb.id = 57) as sub_id,
(SELECT alias as subcategory FROM content_categories ccb WHERE ccb.id = 57) as sub_alias

你能帮我提点主意吗。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-04 16:47:00

我想你只是想要一个LEFT JOIN

代码语言:javascript
复制
SELECT cp.name as parent, cp.id as parent_id, cp.alias as parent_alias,
       cc.name as sub, cc.id as sub_id, cc.alias as sub_alias
FROM content_categories cc left join
     content_categories cp
     on ccp.id = cc.parent
WHERE cc.id = 57;

唯一的区别是,如果cc.id = 57不存在,这将不会返回任何行。您的版本将返回所有列都是NULL的一行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47113038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档