PHP和pgAdmin在查询中给出不同的结果

时间:2016-07-08 16:36:47

标签: php postgresql pgadmin

我在PHP中有一个SQL查询

$sqlAcontecimento = "SELECT * FROM rm.acontecimento_x_entidade AS ae 
            INNER JOIN rm.acontecimentos AS ac ON ae.acontecimento_id = ac.entidade_id
            INNER JOIN entidade.entidades AS aee ON aee.entidade_id = ae.entidade_id
            INNER JOIN entidade.entidades AS ace ON ace.entidade_id = ac.entidade_id
            WHERE registro_id = (
                    SELECT entidade_id FROM contrato.contratos 
                    WHERE entidade_id NOT IN (SELECT contrato_origem_id FROM contrato.contratos WHERE contrato_origem_id IS NOT NULL)
                    AND codigo = '$clienteFirebird->N_PROPOSTA'
            ) AND aee.excluido = false AND ace.excluido = false
            AND descricao = '" . $anotacaoPainel->descricao . "'
            AND to_char(ocorrencia, 'YYYY-MM-DD HH24:MI') = '$anotacaoPainel->cadastro'";

如果我在得到之后回复它:

SELECT * FROM rm.acontecimento_x_entidade AS ae INNER JOIN rm.acontecimentos AS ac ON ae.acontecimento_id = ac.entidade_id INNER JOIN entidade.entidades AS aee ON aee.entidade_id = ae.entidade_id INNER JOIN entidade.entidades AS ace ON ace.entidade_id = ac.entidade_id WHERE registro_id = ( SELECT entidade_id FROM contrato.contratos WHERE entidade_id NOT IN (SELECT contrato_origem_id FROM contrato.contratos WHERE contrato_origem_id IS NOT NULL) AND codigo = '294' ) AND aee.excluido = false AND ace.excluido = false AND descricao = 'Em contato titular ficou de fazer o pagto somente na primeira semana de dezembro.' AND to_char(ocorrencia, 'YYYY-MM-DD HH24:MI') = '2015-11-25 11:07'

并且它什么都不返回。但是如果我在pgAdmin或控制台中运行相同的查询,我会得到预期的结果。

有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

同样的事情发生在我身上,我在pgadmin和php中用pg_query()执行查询。第一个给了我12个结果,但另一个给了我预期的33个。