2011-12-03 49 views
0

我找不到語法錯誤在下面的語句:SQL CREATE表

CREATE TABLE dbo.statslogsummary as 
    (SELECT COUNT(logID) AS userid, logUserID,MAX(logDateTime) 
FROM statsLog 
GROUP BY logUserID); 

告訴「AS近無效語法」

回答

2

更新 - 之後,很明顯,這是SQL服務器:

SELECT COUNT(logID) AS userid, logUserID,MAX(logDateTime) AS maxlogtm 
INTO dbo.statslogsummary 
FROM statsLog 
GROUP BY logUserID 
+0

仍然在選擇 – user990016

+0

@ user990016附近出現sysntax錯誤您沒有說出您正在使用哪個數據庫,上述工作在Oracle上運行良好......因爲我看到您添加了一個標記,指出它是SQL Server ...對於SQL Server使用我上面更新的答案... – Yahia

+0

如何進行投票? – user990016

3

CREATE TABLE語句中不應該有一個SELECT語句中它我。 CREATE TABLE語句只應該定義表結構。

如果您嘗試通過從另一個表中選擇數據來創建表,則需要使用Select Into語法。

SELECT COUNT(logID) AS userid, logUserID,MAX(logDateTime) AS logDateTime 
INTO dbo.statslogsummary 
FROM statsLog 
GROUP BY logUserID 
+0

錯誤;對象或列名缺失或爲空 – user990016

+0

您已經廢除了使用語句的「CREATE TABLE」部分,對吧?我的整個代碼片段將創建表而不顯式使用CREATE TABLE命令。另外,請檢查我包含的鏈接(單詞「Select INTO」),它記錄了它的工作原理。 – David

+3

@DavidStratton你的聲明不起作用,因爲最後一列(MAX ...)沒有別名... – Yahia