DBに次のテーブルがあると仮定しましょう。
CREATE TABLE #nodes(reporter varchar(10), groupname varchar(10), node varchar(20))
CREATE TABLE #nodes_extract(id int IDENTITY, min_node varchar(20), count_nodes int, descr varchar(10) );
CREATE TABLE #nodes_histo(reporter varchar(10), groupname varchar(10), node varchar(20), nodes_extract_id int)
データの例:
INSERT INTO #nodes (reporter, groupname, node) VALUES ('rep1','group1','node1')
INSERT INTO #nodes (reporter, groupname, node) VALUES ('rep1','group1','node2')
INSERT INTO #nodes (reporter, groupname, node) VALUES ('rep1','group2','node3')
INSERT INTO #nodes (reporter, groupname, node) VALUES ('rep2','group1','node1')
INSERT INTO #nodes (reporter, groupname, node) VALUES ('rep2','group1','node4')
INSERT INTO #nodes (reporter, groupname, node) VALUES ('rep2','group2','node5')
INSERT INTO #nodes (reporter, groupname, node) VALUES ('rep3','group1','node5')
INSERT INTO #nodes (reporter, groupname, node) VALUES ('rep3','group1','node6')
INSERT INTO #nodes (reporter, groupname, node) VALUES ('rep3','group2','node7')
いくつかのデータを#nodes_extractに抽出しましょう
INSERT INTO #nodes_extract
SELECT min(node), count(node), 'blabla'
FROM #nodes
GROUP BY reporter, groupname
ここで、#nodesから#nodes_histoにすべての情報を挿入し、nodes_extract_idを追加します。期待される結果は#nodes_histoになります。
レポーターグループ名ノードnodes_extract_id rep1 group1 node1 1 rep1 group1 node2 1 rep1 group2 node3 4 rep2 group1 node1 2 rep2 group1 node4 2 rep2 group2 node5 5 rep3 group1 node5 3 rep3 group1 node6 3 rep3 group2 node7 6
どのように目標を達成しますか?テーブル構造を変更せずに可能ですか?
どうもありがとう!カフェ