sql - 为什么不在postgresql中执行语句查询?

标签 sql postgresql

我在通过触发器执行的函数中编写了以下查询。

SELECT report_date INTO logdate FROM agent_statistics WHERE agentid =             
    NEW.caller_id_name AND report_date = DATE(NEW.start_stamp);
SELECT COUNT(*) INTO outbound FROM cdr WHERE (caller_id_name = 
    NEW.caller_id_name AND direction = 'outbound' AND 
    DATE(NEW.start_stamp) = logdate);
SELECT COUNT(*) INTO consult FROM cdr WHERE (caller_id_name =
    NEW.caller_id_name AND direction = 'outbound' AND 
    DATE(NEW.start_stamp) = logdate AND billsec > '0');

这里,logdate 值给出了正确的日期。但是,outbound 和 consult 给出了表中的所有行。表示前一个日期还包括不包括的日期。 我只需要当前日期的总行数。

最佳答案

替换你的DATE(NEW.start_stamp) = logdate); 使用 start_stamp = logdate);

关于sql - 为什么不在postgresql中执行语句查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42294497/

相关文章:

sql - 甚至使用 PostgreSQL 进行数据采样

php - 带有 MySQL 查询的 Foreach 循环

mysql - mysql 上的总和会计 session 避免重复

sql - sql server 获取上一行数据的方法

r - 在 R 中执行 Postgres 函数

sql - 如何按多个行值分组?

PostgreSQL 约束 - ON DELETE CASCADE 未恢复

sql - rails 数据库 :seed unknown attribute

php - SQL 注入(inject) - 向表中插入数据

postgresql - 为 ExecWait 子进程设置环境变量