首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不适用于十进制列的Delete语句

不适用于十进制列的Delete语句
EN

Stack Overflow用户
提问于 2018-07-23 11:30:30
回答 1查看 74关注 0票数 0

我正在编写一份删除声明,内容如下:

代码语言:javascript
复制
DEL FROM X.SALES1
WHERE CAST(SALES_T_ID AS DECIMAL(18,0)) IN(

SEL CAST(T1.SALES_T_ID AS DECIMAL(18,0) )FROM
(
SEL *  FROM 
X.SALES1
QUALIFY ROW_NUMBER() OVER( PARTITION BY SALES_SRC_ID,DSTC ORDER BY UPDATED_DATE_TIMESTAMP DESC) >1
) T1
) ; 

以上删除应保留最新记录,并删除其余记录。然而,它正在删除所有的记录。我检查了内部查询并正常工作,只选择了最新更新的记录。但我不明白它为什么要删除所有的记录?

表结构如下:

代码语言:javascript
复制
CREATE SET TABLE X.SALES1 ,FALLBACK ,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL,
     CHECKSUM = DEFAULT,
     DEFAULT MERGEBLOCKRATIO,
     MAP = TD_MAP1
     (
      SALES_T_ID DECIMAL(18,0),
      SALES_TRANS_NUM VARCHAR(30) CHARACTER SET LATIN NOT CASESPECIFIC,
      SALES_SRC_ID VARCHAR(20) CHARACTER SET LATIN NOT CASESPECIFIC,
      SALES_TRANS_START_DTTM TIMESTAMP(0),
      ST_EXPECTED_CLOSE_DTTM TIMESTAMP(0),
      ST_ACTUAL_CLOSE_DTTM TIMESTAMP(0),
      ST_ACT_CONT_DTTM TIMESTAMP(0),
      ST_EXP_CONT_CLS_DTTM TIMESTAMP(0)
)
PRIMARY INDEX ( SALES_T_ID );

样本数据:

代码语言:javascript
复制
SALES_T_ID SALES_SRC_ID
715,603    3-3SDDJH5
593,803    3-3SDDJH5
715,604    3-3SDDJIG
593,804    3-3SDDJIG
715,605    3-3SDDJJR

编辑:

我的要求是只保留Sales_trans_src_id和基于updated_date_timestamp的data_source_type_cd组合的最新行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-23 11:49:50

代码语言:javascript
复制
DEL FROM X.SALES1
WHERE CAST(SALES_T_ID AS DECIMAL(18,0)) IN(

SEL CAST(T1.SALES_T_ID AS DECIMAL(18,0) )FROM
(
SEL *  FROM 
X.SALES1
QUALIFY rank() OVER( PARTITION BY SALES_SRC_ID,DSTC ORDER BY UPDATED_DATE_TIMESTAMP DESC) > 1
) T1
;

你能检查一下这个吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51477750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档