问题如下:
有一个遗留的内联网应用程序,基本上就是一堆网络表单。为其提供服务的数据库是Postgres。该应用程序有文档记录(虽然很差,但有文档记录),所以我或多或少知道哪些行和列涉及什么。
我想要的是,能够计算在web表单的文本字段中输入的所有人类可读字符(包括空格键)(基本上,做Openoffice Writer的/MS Word的统计功能,但只使用字符计数。不需要计算单词)
文本字段的值散布在几个表中。
使用场景:
有一堆文本必须通过网络表单输入数据库,现在是手写的。一个人会来把它打进去。人员将按角色付费。
所以这个想法是在一天开始的时候从数据库中进行"字符计数",然后在工作日之后进行"字符数"。从后者中减去前者,付给打字员应得的报酬。
在给定的时间内,不会有超过一名打字员工作,因此不需要确定谁负责给定的新字符。
基本上,您需要这样的查询:
select sum(count) from (
(select sum(length(C1)) as count from T1)
union all
(select sum(length(C2)) as count from T2)
union all
...
(select sum(length(CN)) as count from T3)
) as x
其中C1。。。,CN和T1。。。,TN分别是列名和表名。
如果表X有多个文本列,则可以将多个(select sum(length(CX)) from TX)
查询合并为一个:
select sum(length(C1)) + sum(length(C2)) + ... + sum(length(CN)) as count from TN