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

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

我正在MySQL上运行这个查询。

SELECT ID FROM (
    SELECT ID, msisdn    FROM (
        SELECT * FROM TT2    ));

它带来了这样的错误:

每个派生表都必须有自己的别名。

是什么导致了这个错误?


桃花长相依
浏览 1671回答 3
3回答

aluckdog

我觉得这是在要求你这么做SELECT IDFROM (SELECT ID,              msisdn        FROM (SELECT * FROM TT2) as myalias     ) as anotheralias;但是,为什么要首先编写这个查询呢?

慕田峪4524236

这里有一个不同的例子,没有别名就不能重写(不能)GROUP BY DISTINCT).想象一张名为purchases记录了customers在…stores也就是说,这是一个对许多表和软件需要知道哪些客户已经在多个商店购买:SELECT&nbsp;DISTINCT&nbsp;customer_id,&nbsp;SUM(1) &nbsp;&nbsp;FROM&nbsp;(&nbsp;SELECT&nbsp;DISTINCT&nbsp;customer_id,&nbsp;store_id&nbsp;FROM&nbsp;purchases) &nbsp;&nbsp;GROUP&nbsp;BY&nbsp;customer_id&nbsp;HAVING&nbsp;1&nbsp;<&nbsp;SUM(1);.会因错误而中断Every derived table must have its own alias..修复:SELECT&nbsp;DISTINCT&nbsp;customer_id,&nbsp;SUM(1) &nbsp;&nbsp;FROM&nbsp;(&nbsp;SELECT&nbsp;DISTINCT&nbsp;customer_id,&nbsp;store_id&nbsp;FROM&nbsp;purchases)&nbsp;AS&nbsp;custom&nbsp;&nbsp;GROUP&nbsp;BY&nbsp;customer_id&nbsp;HAVING&nbsp;1&nbsp;<&nbsp;SUM(1);(注意AS custom化名)。
打开App,查看更多内容
随时随地看视频慕课网APP