我在其中使用了一个case语句,这是一个非常灵活的方法,非常有用.
select id,
(CASE WHEN trial_type_1 <> 'none' OR trial_type_2 <> 'none'
OR trial_type_3 <> 'none'
THEN 'True' ELSE 'False' END) as trial
FROM q3773072
但是,您可以将其作为一个简单的逻辑操作 – 可能更接近您想要的操作,如下所示:
SELECT id,
(trial_type_1 <> 'none' OR trial_type_2 <> 'none' OR trial_type_3 <> 'none' ) as Trial
from q3773072
这样做的正确方法当然是将多个trial_types存储在不同的表中 – 当您开始编号字段时,它是数据库模式需要更改的线索.您还应该设置另一个表来定义试验类型及其定义 – 即它们是否是真正的试验.
我可能会采用后一种方法,因为很有可能你将来会在某个时候添加另一种试用类型,如果你做得不对,那将是痛苦的.