2012-09-19 73 views
0

我有這樣的說法:寫選擇輸出到表

insert into Admin.VersionHistory --do not know what to put here 
select COUNT(*) as cnt 
from membership.members as mm 
left join aspnet_membership as asp 
on mm.aspnetuserid=asp.userid 
left join trade.tradesmen as tr 
on tr.memberid=mm.memberid 
where asp.isapproved = 0 and tr.ImportDPN IS NOT NULL and tr.importDPN <> '' 

,它給了我一個總的179956.我想這個總到另一臺名爲Admin.VersionHistory具有ID寫(AUTOINC) ,版本(varchar)和日期(sysdate)列,

請問我該怎麼做? 謝謝

回答

1

您的查詢返回一列一行的結果集。它可以插入某個有整數列的表格中。你的目標表不適合這個,因爲它有三列。

0

你應該能夠做到這一點:

INSERT INTO Admin.VersionHistory(ColumnName) 
SELECT COUNT(*) 
-- the resut of your query here 
0
INSERT INTO Admin.VersionHistory (ColCount, version, Sysdate) 
VALUES( 

(SELECT COUNT(*) AS cnt FROM membership.members AS mm  
lLEFT JOIN aspnet_membership AS asp ON mm.aspnetuserid = asp.userid 
LEFT JOIN trade.tradesmen AS tr ON tr.memberid=mm.memberid 
WHERE 
asp.isapproved = 0 AND 
tr.ImportDPN IS NOT NULL AND 
tr.importDPN <> ''), 
VERSIONVALUE, GETDATE()) 

雖然我已經試過類似的事情在Oracle中我想這不應該在SQL很大的不同。

給它一個鏡頭。