Jump to content


Photo

Php + Postgre


  • Faça o login para participar
1 reply to this topic

#1 hhhhhh

hhhhhh

    Novato no fórum

  • Usuários
  • 23 posts
  • Sexo:Não informado

Posted 06/07/2005, 14:30

Olá.. como faço para realizar o seguinte sql ?

SELECT e.*
FROM enderecos e, cidades c, unidades_federacao u
WHERE oid_candidato = 95
and e.cidade = c.cd_ibge_cid
and c.uf = u.cd_ibge

Ocorre que, ele só realiza a consutla se o campo cidade estiver prenchido com um código de cidade existente, pois o mesmo tem uma foreing key...

Eu quero que não seja obrigatório o campo cidade ser preenchido e que se ele estiver vazio(não tenha nehum código que tenha relação com a tabela de cidades) a consulta seja realizada...

Alguém pode me ajudar ?

:D

#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 06/07/2005, 15:30

Veja assim:

SELECT e.*
FROM enderecos e, cidades c, unidades_federacao u
WHERE oid_candidato = 95 and (
    e.cidade = c.cd_ibge_cid OR NOT EXISTS(SELECT 1 FROM cidades WHERE c.cd_ibge_cid = e.cidade)
  ) and c.uf = u.cd_ibge

Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq