环境:
我使用 PostgreSQL 9.1.2 并有一个如下的基本表,其中我有 4 个二进制列,可以采用值 Y 或 N。这些列还主要包含 Null 值,我在下表中将其表示为“-” :
Binary Col 1 Binary Col 2 Binary Col 3 Binary Col 4 Summary Col
------------ ------------ ------------ ------------ -----------
1. Y N - N 1
2. - Y N Y 2
3. N N - N 0
4. - - - - -
5. Y Y Y Y 4
问题:
我想在我的表中包含一个摘要列,该列是根据这 4 个二进制列中出现的“Y”的数量填充的。我在上表中给出了 5 个示例条目来展示所需的输出。需要注意的一件重要事情是,我希望能够区分条目 3(未观察到“Y”)和条目 4(所有二进制列均为空)等情况。这是一次性的工作,对于这个重复列将如何影响我的表的事务速度,我没有性能问题。
我查看了很多 PostgreSQL“更新表”示例,还查看了此处的手册。但是,我还没有找到具有多个条件的更新过程的示例,我相信这是这里需要的。
或者我可能完全错了,解决方案需要 SQL 函数或触发器,有什么提示或建议吗?