我的数据库名为"利口酒",包含来自爱荷华州的酒类销售信息。我使用的是SQLiteStudio。
其中一列被称为"category",它包含一个7位数的数字(数据类型为INT(,我注意到其中有一个模式。
以101开头的数字(即1010000-1019999(都是威士忌产品。
以102开头的数字(即1020000-1029999(都是龙舌兰酒/梅兹卡酒产品。
数字1030000-1039999是伏特加产品。
1040000-1049999是杜松子酒产品。
etc
我想创建一个名为"alcohol_type"的新列,它可以读取"category"中的值,然后用威士忌或伏特加等填充"alcohol _type"。
我继续添加了名为alcohol_type的新列。
这就是我计划运行的内容
UPDATE liquorsales
SET alchohol_type (case
when category > 1009999 AND < 1020000 then 'Whiskey'
when category > 1019999 AND < 1030000 then 'Tequlia/Mezcal'
when category > 1029999 AND < 1040000 then 'Vodka'
when category > 1039999 AND < 1050000 then 'Gin'
when category > 1049999 AND < 1060000 then 'Brandy'
when category > 1059999 AND < 1070000 then 'Rum'
else 'Other (Spirits, Liqueurs, Cocktails)'
end);
我还没能用一个小样本大小的表成功地运行它。有什么建议吗?
UPDATE liquorsales
SET alchohol_type =
CASE WHEN category >= 1070000
THEN 'Other (Spirits, Liqueurs, Cocktails)'
WHEN category >= 1060000
THEN 'Rum'
WHEN category >= 1050000
THEN 'Brandy'
WHEN category >= 1040000
THEN 'Gin'
WHEN category >= 1030000
THEN 'Vodka'
WHEN category >= 1020000
THEN 'Tequlia/Mezcal'
WHEN category >= 1010000
THEN 'Whiskey'
ELSE 'Other (Spirits, Liqueurs, Cocktails)'
END