2012-07-31 42 views
1

我是teradata的新手。teradata的案例條款中可以使用刪除條款

一旦滿足條件條件,我需要刪除一行。

例如:case condition true刪除選定的行。

+0

你可以擴展一點你試圖完成的東西,不能用WHERE子句完成嗎? – 2012-07-31 17:11:19

+0

情況下COL1 = 31則(情況下,當DESC = 'XXXXXX' 然後刪除整行結束)其他XXXX結束 – balaji 2012-07-31 18:07:44

回答

0

也許我誤解你試圖用CASE語句來完成的,但根據我的理解,你可以使用WHERE子句有條件地從表中刪除數據:

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

編輯:

根據您的評論,您需要將CASE邏輯應用於您希望遮蓋的SELECT語句中返回的每個列。

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

羅布您好,感謝您的快速反應SEL XX ,YY ,ZZ ,情況 當COL1 = 30然後(情況下,當DESC =「YYYY」然後AAAA端) 時COL1 = 31然後(情況下,當DESC =「XXXXXX」然後刪除整個行結束) 別的XXXX端爲L1 從MYTABLE 我需要刪除從中選擇的行 – balaji 2012-07-31 19:13:04

+0

請參閱編輯。我現在能更好地理解您的要求嗎? – 2012-07-31 19:42:28