作者smile0803 (鸡排)
看板Database
标题[SQL ] create table後资料遗失请益
时间Sun Mar 22 00:48:27 2020
资料库名称: 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
1F:推 criky: 可能是Union指令,改成Union all试试看?03/22 05:56
2F:→ criky: create table时加mutiset也可以试试看03/22 10:12
3F:推 hmsDEBBIE: 推楼上,请试试create multiset table以及改成union al03/22 23:43
4F:→ hmsDEBBIE: l03/22 23:43
谢谢c大&h大!!其实我union的2个table为互斥,不过我明天还是来试试看^^
※ 编辑: smile0803 (219.91.86.65 台湾), 03/22/2020 23:55:32
5F:推 joery: 楼上二位大大超强 03/25 18:12