資料清理

出自ProgWiki
於 2021年11月14日 (日) 13:19 由 Player討論 | 貢獻 所做的修訂 (added Category:資料 using HotCat
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳至導覽 跳至搜尋

資料清理,或稱資料淨化,參照:『維基百科~Data_cleansing

用途

  • 將跨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(coalesce(b.SubTotal,0))
	from  Table1 as a, Table3 as b
        where a.ID=b.ID;
 
update Table1
        set col4=max(coalesce(b.SubTotal,0))
	from  Table1 as a
	left join Table3 as b on a.ID=b.ID;