GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Sql


#1

SELECT *
FROM Cheque t, Cliente rec, Cliente pas, Cliente tit,
STATUS s
WHERE t.cdTitular = rec.id
AND t.cdRecebidoDe = pas.id
AND t.cdRepassadoPara = tit.id
AND t.cdstatus = s.id
tenho esse sql. mas ele não lista os cdrepassadoPara que estao null, quero listar os que tem dados e os que tem campo null


#2

Isso acontece porque quando você faz o join das tabelas no Where, você está fazendo um INNER JOIN.

O que você precisa é de um LEFT JOIN (ou RIGHT JOIN).
Tente algo como:

  FROM cheque t 
  LEFT JOIN Client tit ON t.cdRepassadoPara = tit.id

#3

Valeu amigo,resolveu o problema

SELECT *
FROM Cheque t
LEFT JOIN Cliente rec ON t.cdRecebidoDe = rec.id
LEFT JOIN Cliente pas ON t.cdTitular = pas.id
LEFT JOIN Cliente tit ON t.cdRepassadoPara = tit.id
LEFT JOIN Status s ON t.cdstatus = s.id