2016-06-30 18 views
0

こんにちは私のクエリの結果を別のテーブルに追加しようとしていますが、ここにエラーが表示されます、プロジェクトのコードはここにありますエラーMSG 213提供された値の列名または数がテーブル定義と一致しません

--create new table 
create table tempweblogs 
(
    date1 datetime 
    users nvarchar(50) 
    utotal int 
    date2 datetime 
    hostname nvarchar(50) 
    htotal int 
    date3 datetime 
    srcip nvarchar(50) 
    stotal int 
) 
--insert query result to tempweblogs table 

insert into tempweblogs 
SELECT distinct top 10 
     Xdate as date1, Xuser as users, count (Xuser) as utotal 
from weblogs 
where Xdate='2/16/2016' and Xuser is not null 
group by Xuser, Xdate order by utotal DESC  

SELECT distinct top 10 
     Xdate as date2, Xhostname as hostname, count(Xhostname) as htotal 
from weblogs  
where Xdate='2/16/2016' and xhostname is not null 
group by Xhostname, Xdate order by htotal DESC 

SELECT distinct top 10 
     Xdate as date3, Xsrcip as srcip, count (Xsrcip) as stotal 
from weblogs 
where Xdate='2/16/2016' and Xuser is not null 
group by Xsrcip, Xdate order by stotal DESC 
+1

ためのINSERT句を必要とするINSERT文で

insert into tempweblogs (date1 , users , utotal) select .... 

を列リストを指定する必要があるのVAの数指定されたluesは、テーブル内のカラム数と一致する必要があります。それを動作させるには、明示的に列の名前をどこに入れるべきかを宣言します。 'INSERT INTO tempweblogs(date1、users、utotal)SELECT別名トップ10 Xdateをdate1、Xuserをユーザー、count(Xuser)をutotal ......' –

答えて

2

また、あなたは構文のこの種を使用する場合は、それがことが期待されている必要があり、すべての3のクエリ

+0

Thanks Squirrel、 これはうまくいきます – Melvuen

関連する問題