[SQL ] create table後資料遺失請益

作者: smile0803 (雞排)   2020-03-22 00:48:27
資料庫名稱: Teradata SQL
資料庫版本:15
內容/問題描述:
各位大神好~
小妹是數據分析的菜鳥,昨天create了ㄧ張大表後,發現原始的資料筆數應為27萬,但cr
eate後的table資料筆數卻少了2萬筆....
因為這大表join了很多table,欄位也建了不少,所以只能簡單把邏輯打出來,希望有大
神能協助解惑怎麼create table會造成資料遺失QQ. 謝謝!!
#建立test
Create table DB.test as
(
Select a.ID , b.ID , c.ID
From ( select ID from table1
union
select name as ID from table2) as a
Left join table3 b on a.ID =b.ID
Left join table4 c on a.ID =c.ID
) with data;
#此資料筆數為27萬
Select count(*)
From (
Select a.ID , b.ID , c.ID
From ( select ID from table1
union
select name as ID from table2) as a
Left join table3 b on a.ID =b.ID
Left join table4 c on a.ID =c.ID
) t
#建立的資料筆數變為25萬
Select count(*) from DB.test
※ 編輯: smile0803 (219.91.86.65 臺灣), 03/22/2020 00:52:24
作者: criky (2501-2)   2020-03-22 05:56:00
可能是Union指令,改成Union all試試看?create table時加mutiset也可以試試看
作者: hmsDEBBIE (*黛比*)   2020-03-22 23:43:00
推樓上,請試試create multiset table以及改成union all
作者: joery (Lin)   2020-03-25 18:12:00
樓上二位大大超強

Links booklink

Contact Us: admin [ a t ] ucptt.com