2015-10-27 110 views
-1

我运行此查询关于MySQL:每个派生的表必须有它自己的别名#1248

CREATE TABLE DuplicateSKU 
SELECT * FROM FeedsAll 
INNER JOIN (
SELECT FeedsAll.SKU 
    FROM FeedsAll 
    GROUP BY FeedsAll.SKU 
    HAVING COUNT(*) > 1) as DuplicateSKU; 

和它给这个错误:

#1248 - Every derived table must have its own alias

有什么不对?

请帮忙!

回答

0

您使用名称DuplicateSKU两次,一次为您的子查询的新表一次。这些应该是不同的名字,例如

create table duplicatesku 
select * 
from feedsall 
inner join 
( 
    select sku 
    from feedsall 
    group by sku 
    having count(*) > 1 
) as duplicates on duplicates.sku = feedsall.sku; 

顺便说一句,你是交叉连接(缺少ON子句,MySQL不报告不幸)。我添加了适当的ON子句。

+0

感谢您的及时响应。我想:CREATE TABLE DuplicateSKU SELECT * 从FeedsAll 内加入 ( 由SKU 从FeedsAll 组选择SKU 具有COUNT(*)> 1 )作为DuplicateSKU.SKU = FeedsAll.SKU重复;但错误消息#1054 - 'on子句'中的未知列'DuplicateSKU.SKU'。这是什么意思? – vorsta

+0

这不是我发布的查询:-)它必须在'Duplicates.SKU'上不在''DuplicateSKU.SKU'上。 –

+0

我试过 - 结果相同 – vorsta

相关问题