1

私はこのスクリプトを持っています:

 SELECT 'pro' as descript, COUNT(*) as cnt FROM Trade.TradesMen where TradesManAccountType_Value = 2 AND HasTradeListing = 1
 UNION ALL

 SELECT 'std' as descript, COUNT(*) as cnt FROM Trade.TradesMen tm
 INNER JOIN Membership.Members m ON m.MemberId = tm.MemberId
 INNER JOIN aspnet_Membership am ON am.UserId = m.AspNetUserId
 WHERE tm.TradesManAccountType_Value = 1 AND tm.HasTradeListing = 1 AND am.IsApproved = 1

 UNION ALL

 SELECT 'listed' as descript, COUNT(*) as cnt FROM Trade.TradesMen where HasTradeListing = 1

 UNION ALL

 SELECT 'all' as descript, COUNT(*) as cnt FROM Trade.TradesMen
 insert into Admin.VersionHistory values(4,cnt,CURRENT_TIMESTAMP) //is NOT correct

これにより、次のようになります。

 1     pro          32549
 2     std          13096
 3     listed   230547
 4     all          231638

上記をテーブルの行として追加したいと思います。Admin.VersionHistoryは、VersionHistoryタイプのint自動インクリメントの列を持ち、ID、varchar(50)タイプのバージョン、およびデータタイムスタンプです。

ありがとう

4

2 に答える 2

1
insert into Admin.VersionHistory 
SELECT 'all', COUNT(*),current_timestamp FROM Trade.TradesMen
于 2012-09-19T07:29:02.747 に答える
1

(OP からの新しい情報で更新)
頭の上から見ると、次のようになります。

INSERT INTO Admin.VersionHistory (Version, NumberOf, DateAndTime)
SELECT descript, CAST(cnt AS VARCHAR), SYSDATE
FROM
(
SELECT 'pro' as descript, COUNT(*) as cnt FROM Trade.TradesMen where TradesManAccountType_Value = 2 AND HasTradeListing = 1

UNION ALL

SELECT 'std' as descript, COUNT(*) as cnt FROM Trade.TradesMen tm
INNER JOIN Membership.Members m ON m.MemberId = tm.MemberId
INNER JOIN aspnet_Membership am ON am.UserId = m.AspNetUserId
WHERE tm.TradesManAccountType_Value = 1 AND tm.HasTradeListing = 1 AND am.IsApproved = 1

UNION ALL

SELECT 'listed' as descript, COUNT(*) as cnt FROM Trade.TradesMen where HasTradeListing = 1

UNION ALL

SELECT 'all' as descript, COUNT(*) as cnt FROM Trade.TradesMen
) ;

VersionHistoryIdこれは、列がデータベースによって自動的にシードされることを前提としています。挿入するたびに、ID 番号が自動的に挿入されます。

CURRENT_TIMESTAMPただし、列で何を達成したいのかわかりません。SYSDATEタイムスタンプとして入れました。

NumberOf列にはカウント データが含まれます。適切と思われる名前を付けてください。

于 2012-09-19T07:23:07.477 に答える