在写带有子查询或者在查询时产生临时表的查询时,可能会出现这个错误:
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);
运行后,可以看到出现 1248 错误:Every derived table must have its own alias
在这段报错代码中:
FROM ( SELECT DISTINCT customer_id, store_id FROM kalacloud_purchases)
这段命令会先查 kalacloud_purchases
表,然后生成一张新的临时表,如果这个临时表没有命名,就会导致 1248 错误。我们只需要加上 「as 临时表别名」即可修复错误
加上「AS customer」别名, 这样就解决了这个问题。
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦