資料清理
出自ProgWiki
用途
- 將跨Table或是樹狀或網狀Table的資料,根據資料的特性,清理成一個或數個,簡化過的Table。這樣在使用時(如List列表)的效能會快很多。
作法
1.先建立【目標的Table】
CREATE TABLE [dbo].[Table1]( [ID] [VARCHAR](12) , [col2] [VARCHAR](12) , [col3] [INT] NULL, [col4] [INT] NULL ) ON [PRIMARY];
2.先Select出必要的PK與FK欄位Insert到【目標的Table】
INSERT INTO Table1 (ID, col2) SELECT (ID, col2) FROM Table2;
3.依序以Update方式,將整理好的資料Update到【目標的Table】
UPDATE Table1 SET col3=SUM(b.SubTotal) FROM Table1 AS a, Table3 AS b WHERE a.ID=b.ID; UPDATE Table1 SET col4=MAX(b.SubTotal) FROM Table1 AS a, Table3 AS b WHERE a.ID=b.ID;