首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有内连接的公用表表达式

带有内连接的公用表表达式
EN

Stack Overflow用户
提问于 2021-04-16 01:45:17
回答 1查看 45关注 0票数 0

我正在尝试学习MySQL中CTE背后的直觉。我真正想了解的是如何创建嵌套查询。例如,我试着运行这段代码,我得到一个语法错误-

代码语言:javascript
运行
复制
WITH cte AS
(
  SELECT h.hacker_id, s.challenge_id, s.max_score FROM Hackers h
  INNER JOIN (
    SELECT hacker_id, challenge_id, max(score) as max_score FROM Submissions 
    GROUP BY hacker_id, challenge_id
  ) s ON h.hacker_id=s.hacker_id
)
SELECT * FROM cte

这段代码有什么问题?我使用的是MySQL。

EN

回答 1

Stack Overflow用户

发布于 2021-04-16 02:01:15

三种方式

  • 将表别名放在提交查询的所有字段中,然后将其用于提交查询的所有字段。
  • 提交查询的Max()和group by可能会导致错误
  • 将提交查询置于最终查询之前的CTE中,然后在最终查询

中使用提交查询

使用CteSubm as (选择...从提交中选择),Select as ( Select * from hckers join ctesubm s on h.id = s.id ) CteJoin * from CTEjoin

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

https://stackoverflow.com/questions/67113502

复制
相关文章

相似问题

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