2016-11-18 237 views
0

我想將表OLD的行復制到另一個表NEW將行從表複製到另一個

INSERT INTO NEW 
SELECT date, kind, id, product, version, quantity FROM OLD; 

OLD具有柱kind其爲VARCHAR和含有像insertextractdelete字。在NEW表中,此列是INTEGER。有沒有辦法說,如果您發現delete插入1,如果您發現extract插入2等。

回答

1

您可以使用CASE語句整數替換字符串標籤:

INSERT INTO NEW 
SELECT date, 
     CASE WHEN kind = 'delete' THEN 1 
      WHEN kind = 'extract' THEN 2 
      ELSE ... 
     END, 
     product, 
     version, 
     quantity 
FROM OLD; 

這假設列正確排列,和所有其他的列類型匹配。

+0

謝謝,它工作! – yaylitzis

相關問題