Ir para conteúdo

POWERED BY:

Arquivado

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

Vitor Bueno

Where para verificar se o campo esta preenchido!

Recommended Posts

Tenho duas tabelas, uma de SMS onde tenho o id_sms, e tenho uma de agendamento de SMS onde crio os agendamento, e no agendamento eu tenho esse id_sms, e tenho uma combo-box que verifica, Agendado : SIM ou NÃO, se selecionar na combo a opção SIM quero q venha todos os SMS's que tenham agendamento ou seja que estejam cadastrados na tabela de agendamento, e caso selecione NÃO vem todos os SMS's sem agendamento ou seja que não estão cadastrados na tabela de agendamento !

 

gostaria de saber qual where poderia utilizar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na minha tabela de SMS :

 

id_sms(PK) | Nome

 

na minha tabela de Agendamento:

 

id_agendamento(PK) | id_sms(FK) .................

 

 

preciso saber, quais sms foram agendados, e tbm quais não foram, no caso será 2 where, um quando eu selecionar SIM ele me trazer todos os SMS que foram cadastrados agendamento, e quando selecionar NÃO me retorna todos os SMS que não tem agendamento que não foram cadastrados no caso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando eu selecionar sim: SELECT * FROM tabela_agendamentos e Quando eu selecionar não: SELECT * FROM tabela_sms.

 

Espero ter Ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas eu preciso de Where, porque eu tenho um Select Geral, que faz join com a tabela de SMS e Agendamento, e se eu usasse esse caso uma hora teria todos os SMS que tem agendamentos, e outra hora teria todos os SMS independente se tem agendamento ou não!

EU ja tenho um select que faz left join entre as duas tabelas, preciso de um Where para SMS que possui agendamento e SMS que não possuem agendamento!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você poderia colocar um campo em sua tabela de Agendamento de Sim, e Não (ou 1 e 0), assim ficaria mais fácil.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi, há um relacionamento entre as tabelas, a tabela `sms` registra todos os SMS, e a tabela `agendamento` que registra somente os SMS agendados.

 

Portanto será necessário um LEFT JOIN:

SELECT s.*, a.*
FROM sms s
LEFT JOIN agendamento a ON a.id_sms = s.id_sms

Desta forma, trará todos os registros da tabela `sms`, seja agendados ou não, na cláusula WHERE você vai utilizar [inline]a.id_sms IS NULL[/inline] para quando for agendado e [inline]a.id_sms IS NOT NULL[/inline] para quando não estiver agendado.

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.