2013-04-01 24 views
0

我得到一個錯誤MySQL的內部連接錯誤「選擇頂層(20)L.load_Number」:轉換的SQL Server使用TOP

INSERT INTO Last_20_Loads 
SELECT  top (20) L.load_Number, count(b.Bales_Per_Hour) AS COUNT_Bales_Per_Hour, sum(b.Bales_Per_Hour) AS SUM_Bales_Per_Hour 
FROM Loads AS L INNER JOIN 
    Bales AS B ON L.Load_Number = B.Load_Number 
where (status = 7) 
GROUP BY l.load_Number 
ORDER BY l.load_Number DESC; 

爲什麼我收到錯誤。怎麼修?

感謝,

傑裏

+0

確切的錯誤發生在L.,語法錯誤,意外的'。' – user823893

回答

0

TOP的euivalent是在MySQL LIMIT

INSERT INTO Last_20_Loads 
SELECT L.load_Number, 
     count(b.Bales_Per_Hour) AS COUNT_Bales_Per_Hour, 
     sum(b.Bales_Per_Hour) AS SUM_Bales_Per_Hour 
FROM Loads AS L 
     INNER JOIN Bales AS B 
      ON L.Load_Number = B.Load_Number 
where (status = 7) 
GROUP BY l.load_Number 
ORDER BY l.load_Number DESC 
LIMIT 20; 
1

MySQL使用LIMIT而不是TOP。您還應該在您的INSERT語句中指定您的列名稱

INSERT INTO Last_20_Loads (load_number, countbales, sumbales) 
SELECT L.load_Number, count(b.Bales_Per_Hour) AS COUNT_Bales_Per_Hour, sum(b.Bales_Per_Hour) AS SUM_Bales_Per_Hour 
FROM Loads AS L INNER JOIN 
Bales AS B ON L.Load_Number = B.Load_Number 
where (status = 7) 
GROUP BY l.load_Number 
ORDER BY l.load_Number DESC 
LIMIT 20; 
+0

謝謝!偉大的作品! – user823893