7

MySQL「 Every derived table must have its own alias」错误修复方法

 2 years ago
source link: https://studygolang.com/articles/35360
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

MySQL「 Every derived table must have its own alias」错误修复方法

HiJiangChuan · 6天之前 · 134 次点击 · 预计阅读时间 4 分钟 · 大约8小时之前 开始浏览    

MySQL「 Every derived table must have its own alias」错误修复方法

本文首发:《MySQL「 Every derived table must have its own alias」1248 错误修复法

在写带有子查询或者在查询时产生临时表的查询时,可能会出现这个错误:

ERROR 1248 (42000): Every derived table must have its own alias

意思是「每一个派生出来的表都必须给它命名一个自己的别名」

我们看个例子:

假设有一张「顾客购买记录」的表 - kalacloud_purchases 记录了顾客在商店购物的信息。我们要写个查询,查看哪些客户在多个商店买过东西:

SELECT DISTINCT customer_id, SUM(1)
  FROM ( SELECT DISTINCT customer_id, store_id FROM kalacloud_purchases)
  GROUP BY customer_id HAVING 1 < SUM(1);

every-derived-table-must-have-its-own-alias 1248 错误

运行后,可以看到出现 1248 错误:Every derived table must have its own alias

在这段报错代码中:

FROM ( SELECT DISTINCT customer_id, store_id FROM kalacloud_purchases)

这段命令会先查 kalacloud_purchases 表,然后生成一张新的临时表,如果这个临时表没有命名,就会导致 1248 错误。我们只需要加上 「as 临时表别名」即可修复错误

添加别名,修复1248 错误

加上「AS customer」别名, 这样就解决了这个问题。

使用「卡拉云」搭建数据看板

我们可以在命令行中直接执行 SQL 对需要的数据进行查询,不过有时候一些运营数据,分析数据需要周期性的反复查询,总是复制粘贴代码非常麻烦。有时我们还需要和各部门协同,将查询好的数据分享给合作组。这种场景下,你可以试试卡拉云。

卡拉云可以快速搭建数据看板和数据后台,只要你会写 SQL ,完全不用懂前端也可在 5 分钟内搭建一套根据自己需求设计的数据看板,还可以做成数据查询系统,一键分享给协作组的同学使用,再也不用担心自己沦为人肉查询机。

使用卡拉云轻松搭建企业内部工具

卡拉云不仅可以像命令行一样灵活,还可根据自己的工作流,定制开发。无需繁琐的前端开发,只需要简单拖拽,即可快速搭建企业内部工具。数月的开发工作量,使用卡拉云后可缩减至数天。

卡拉云可一键接入常见的数据库及 API

卡拉云可快速接入的常见数据库及 API,可根据公司工作流需求,轻松搭建数据看板,并且可分享给组内的小伙伴共享数据,仅需拖拽一键生成前端代码,简单一行代码即可映射数据到指定组件中。

搭建数据看板,直接导出数据

卡拉云可直接添加导出按钮,导出适用于各类分析软件的数据格式,方便快捷。

下图为使用卡拉云在 5 分钟内搭建的「优惠券发放核销」后台,仅需要简单拖拽即可快速生成前端组件,只要会写 SQL,便可搭建一套趁手的数据库工具。

使用卡拉云在 5 分钟内搭建的「优惠券发放核销」后台 立即开通卡拉云,搭建属于自己的数据后台工具吧。

有关 MySQL 教程,可继续拓展学习:


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK