Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Uma coluna ou outra que não seja nulo


Felipe Matos

Question

Olá Pessoaol,

Gostaria de saber se é possivel fazer em SQL uma consulta que retorne um campo ou o outro que não seja nulo. Pois na minha situação tenho um sistema de pagamentos, que podem ser feito a empresa ou a pessoa fisica, e tenho 3 tabelas, segue a estrutura abaixo:

pagamentos ( id, data, valor )

pag_juridico ( id_pag, cnpj )

pag_fisico ( id_pag, cpf )

no resultado da consulta gostaria que mostrasse assim:

id | data | valor | registro
1 | 2012-03-02 | 15.26 |  99.999.99/0001-99
2 | 2012-03-02 | 25.26 |  999.999.999-99
3 | 2012-03-02 | 35.26 |  99.999.99/0001-99
A consulta que tenho hoje é:
SELECT p.id, data, valor_nota, pj.cnpj, pf.cpf
FROM `pagamentos` p
LEFT JOIN pag_juridico pj
ON p.id = pj.id_pag
LEFT JOIN pag_fisico pf
ON p.id = pf.id_pag

Como eu modificaria essa coluna?

Desde já, obrigado!

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Acabei descobrindo já...

Pra quem tiver a mesma dúvida, a solução é usar um "IF". Ficando assim a consulta:

SELECT p.id, data, valor_nota, 
IF (pj.cnpj IS NULL, pf.cpf, pj.cnpj) AS registro
FROM `pagamentos` p
LEFT JOIN pag_juridico pj
ON p.id = pj.id_pag
LEFT JOIN pag_fisico pf
ON p.id = pf.id_pag

Edited by Felipe Matos
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...