为了账号安全,请及时绑定邮箱和手机立即绑定

在MySQL中,“每个派生表必须有自己的别名”的错误是什么?

在MySQL中,“每个派生表必须有自己的别名”的错误是什么?

桃花长相依 2019-06-06 13:54:21
在MySQL中,“每个派生表必须有自己的别名”的错误是什么?我正在MySQL上运行这个查询。SELECT ID FROM (     SELECT ID, msisdn    FROM (         SELECT * FROM TT2    ));它带来了这样的错误:每个派生表都必须有自己的别名。是什么导致了这个错误?
查看完整描述

3 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

我觉得这是在要求你这么做

SELECT IDFROM (SELECT ID,
             msisdn 
      FROM (SELECT * FROM TT2) as myalias     ) as anotheralias;

但是,为什么要首先编写这个查询呢?


查看完整回答
反对 回复 2019-06-06
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

这里有一个不同的例子,没有别名就不能重写(不能)GROUP BY DISTINCT).

想象一张名为purchases记录了customers在…stores也就是说,这是一个对许多表和软件需要知道哪些客户已经在多个商店购买:

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

.会因错误而中断Every derived table must have its own alias..修复:

SELECT DISTINCT customer_id, SUM(1)
  FROM ( SELECT DISTINCT customer_id, store_id FROM purchases) AS custom  GROUP BY customer_id HAVING 1 < SUM(1);

(注意AS custom化名)。


查看完整回答
反对 回复 2019-06-06
  • 3 回答
  • 0 关注
  • 1670 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信