将行从表复制到另一个
问题描述:
我想将表OLD
的行复制到另一个表NEW
。将行从表复制到另一个
INSERT INTO NEW
SELECT date, kind, id, product, version, quantity FROM OLD;
表OLD
具有柱kind
其为VARCHAR
和含有像insert
,extract
,delete
字。在NEW
表中,此列是INTEGER
。有没有办法说,如果您发现delete
插入1,如果您发现extract
插入2等。
答
您可以使用CASE
语句整数替换字符串标签:
INSERT INTO NEW
SELECT date,
CASE WHEN kind = 'delete' THEN 1
WHEN kind = 'extract' THEN 2
ELSE ...
END,
product,
version,
quantity
FROM OLD;
这假设列正确排列,和所有其他的列类型匹配。
谢谢,它工作! – yaylitzis