Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

patrickpkk

Comando sql para verificar se o campo em um id especifico e nulo!

Recommended Posts

Bom dia, eu queria fazer um select onde fossem selecionados os nomes apenas dos usuarios que n tem ferias cadastradas eu estava tentando assim:

SELECT A.id,A.nome,A.datad,A.vigencia,B.datai,B.idcolab FROM cadastrocolab A, cadastroferias B WHERE ADDDATE(datad, 1) <= SUBDATE(NOW(), INTERVAL 1 YEAR) AND A.vigencia <= SUBDATE(NOW(), INTERVAL 1 YEAR ) AND A.id = B.idcolab AND B.datai IS NULL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro que não pode ser um INNER JOIN (a maneira que fez o JOIN funciona como INNER JOIN), pois o INNER JOIN exibe somente os campos relacionados em ambas as tabelas.

 

Para saber quais colaboradores não possuem férias cadastradas (existe na tabela `cadastrocolab`, mas não na tabela `cadastroferias`), a lógica é a que foi utilizada, porém, construída de forma diferente:

SELECT
  A.id,
  A.nome,
  A.datad,
  A.vigencia,
  B.datai,
  B.idcolab,
  IF(B.datai IS NULL, 'Sem férias cadastradas', 'Férias cadastradas') AS Obs
FROM cadastrocolab A
LEFT JOIN cadastroferias B
  ON A.id = B.idcolab
WHERE
  ADDDATE(datad, 1) <= SUBDATE(NOW(), INTERVAL 1 YEAR)
  AND A.vigencia <= SUBDATE(NOW(), INTERVAL 1 YEAR )

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.