2015-10-27 105 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

相關問題