| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
eremita Aprendiz

Registrado: Domingo, 7 de Janeiro de 2007 Mensagens: 228
|
Enviada: Qua Ago 08, 2012 3:18 pm Assunto: Verificar se item esta disponivel |
|
|
Olá !! Preciso que um select me retorne os itens que estão disponíveis para locação. Cada item tem seu código próprio, quer dizer que todo item sempre tera 1 unidade. Segue a estrutura das tabelas:
-Produtos
PDT_ID
PDT_NOME
-Movimentacao
MOV_ID
PDT_ID
MOV_DATSAI
MOV_DATRET
Desde já agradeço, |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Ago 08, 2012 3:25 pm Assunto: |
|
|
Boa tarde,
Qual banco de dados (e versão) você está utilizando?
Este Select deve retornar todos os itens disponíveis, ou será verificado apenas um item em específico?
Editado pela última vez por imex em Ter Abr 30, 2024 9:55 am, num total de 1 vez |
|
| Voltar ao Topo |
|
 |
eremita Aprendiz

Registrado: Domingo, 7 de Janeiro de 2007 Mensagens: 228
|
Enviada: Qua Ago 08, 2012 3:40 pm Assunto: |
|
|
| Firebird 2.5. Quanto ao retorno, pode ser as 2 opções: todos os registros assim como apenas o item que for informado. |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Ago 08, 2012 10:19 pm Assunto: |
|
|
Confirma uma coisa..., os itens que estão disponíveis são aqueles em que todas as movimentações possuem data de retorno ou não possuem nenhuma movimentação?
Ou seja, se existe alguma movimentação sem data de retorno (null) não está disponível? |
|
| Voltar ao Topo |
|
 |
eremita Aprendiz

Registrado: Domingo, 7 de Janeiro de 2007 Mensagens: 228
|
Enviada: Qua Ago 08, 2012 10:49 pm Assunto: |
|
|
| Disponiveis aqueles que nao tiverem MOV_DATRET null |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Ago 08, 2012 11:06 pm Assunto: |
|
|
Experimente desta forma:
| Código: | select p.PDT_ID, p.PDT_NOME
from Produtos as p
where not exists(select 1 from Movimentacao as m
where (m.PDT_ID = p.PDT_ID) and
(m.MOV_DATRET is null)) |
Espero que ajude. |
|
| Voltar ao Topo |
|
 |
|