2012-07-31 3 views
1

teradata에 초보자입니다.teradata에서 Case 절에 delete 절을 사용할 수 있습니까?

사례 조건이 충족되면 행을 삭제해야합니다.

예 : 사례 조건 선택한 행을 삭제합니다.

+0

WHERE 절을 사용하여 수행 할 수없는 작업을 조금 더 확장 할 수 있습니까? –

+0

경우 때 COL1 = 31 후 (내림차순이 = 'XXXXXX'다음 전체 행의 끝을 삭제할 경우) 다른 XXXX 끝 – balaji

답변

0

아마 난 당신이 CASE 문으로 달성하려고 무엇을 잘못 해석하고,하지만 내 이해를 바탕으로 당신은 조건부 테이블에서 데이터를 제거하기 위해 WHERE 절을 사용할 수 있습니다 :

DELETE 
FROM MyDB.MyTable 
WHERE Col1 = 31 
    AND "Desc" = 'xxxxxx'; 

편집 :

귀하의 의견을 바탕으로, 당신은 모호한하고자 SELECT 문에 반환 된 각 열에 CASE 로직을 적용해야합니다.

SELECT CASE WHEN Col1 = 31 and "DESC" = 'yyyyy' 
      THEN NULL 
      ELSE ColA 
     END AS ColA_, 
    /* Repeat for each column you wish to "delete" */ 
    FROM MyDB.MyTable; 
+0

안녕 롭, 당신의 빠른 응답 셀프 전년 동기 대비 XX , , ZZ , 경우 주셔서 감사 때 COL1 = 30 then (desc = 'yyyy'then aaaa end 인 경우) col1 = 31 then (desc = 'xxxxxx'의 경우 전체 행 끝을 삭제할 때) else xxxx end as ll from mytable 삭제해야합니다. 내가 선택한 행 – balaji

+0

편집을 참조하십시오. 귀하의 요구 사항을 더 잘 이해하고 있습니까? –