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.VersionHistoryid(autoinc)、version(varchar)、および date(sysdate) 列を持つ別のテーブルに書き込みたいと思います。

どうすればこれを行うことができますか? ありがとう

4

3 に答える 3

1

クエリは、1 つの列と 1 つの行を含む結果セットを返します。整数列が1つあるテーブルに挿入できます。ターゲット テーブルには 3 つの列があるため、これには適していません。

于 2012-09-19T09:25:25.883 に答える
0

これを行うことができるはずです:

INSERT INTO Admin.VersionHistory(ColumnName) 
SELECT COUNT(*)
-- the resut of your query here
于 2012-09-19T09:25:35.803 に答える
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ではそれほど変わらないはずです。

試してみます。

于 2012-09-19T13:23:50.643 に答える