所以基本上:
If integer from "NumberOfSomething" is between 5 and 10, then set varchar from "Quality" to "good"5<数字< 10 =良好
10 <数字< 20 =优秀
等。这样的事情有可能发生吗?如果是这样,create table语句会是什么样子呢?这两个属性将属于同一个表。
发布于 2016-03-04 02:10:16
在SQL Server中,您可以使用计算列(在编写此列时,未指定数据库):
CREATE TABLE T
(
C INT NOT NULL
,Computed AS
CASE WHEN C < 10 then 'Good'
ELSE 'BAD'
END
)这样,如果您有多个查询需要该值,则它们都可以从表中获取该值,并且如果分数更改,计算值也会自动更改。
编辑:
这里有一个关于如何在MySQL上做这件事的例子。请注意,此生成的列仅适用于MySQL 5.7.5及更高版本。
CREATE TABLE Test (
Score INT,
Cond VARCHAR(20) AS (
CASE
WHEN Score > 5 THEN 'good'
ELSE 'bad'
END)
);https://stackoverflow.com/questions/35779688
复制相似问题