我正在尝试在sqlite
数据库中包含一个字段,该字段包含一系列数据的空字段数。
由于每个条目最多可以有10个选项,这些选项被设置为字段,例如。
ID, Option1, Option2, Option3...
我想要做的是有一个名为OptionCount的字段,它反映了数据行有多少个选项,所以如果只有选项1和2输入值,那么这个字段会说2.然后如果我将数据添加到选项3它会自动将此条目更新为3,依此类推。
我做了一些研究,似乎可能会使用触发器,但我对sqlite
的了解就此止步。任何帮助将不胜感激。
答案 0 :(得分:0)
您可以使用case
:
select t.*,
( (case when option1 is not null then 1 else 0 end) +
(case when option2 is not null then 1 else 0 end) +
(case when option3 is not null then 1 else 0 end) +
. . .
) as num_options_set
. . .
注意:您应该将选项存储在单独的表中,每个选项和每个选项都有一行。
在SQLite中,case
不是必需的,因此您也可以将其写为:
select t.*,
( (option1 is not null) +
(option2 is not null) +
(option3 is not null) +
. . .
) as num_options_set
. . .