tenho duas tabelas
cujos nomes e contexto não são tão usuais
então transformei em dois exemplos (levei meia hora) !
TABLE CAIXA
numero_caixa
numero_container
TABLE PRODUTO
numero_caixa
numero_produto
Acontece que preciso deletar todos os produtos que tenha um determinado numero_produto cuja caixa
esteja em um container com determinado numero_container.
Enfim, só tenho numero_produto e numero_container para deletar um produto !
Não sei como fazer isso em um delete !
Se alguém tiver uma dica de algo pra eu pesquisar e estudar no delete já está ótimo.
Eu tenho pouco conhecimento de SQL, sempre treinei coisas básicas aliás.
DELETE Produto WHERE Numero_Caixa IN (SELECT Numero_Caixa FROM Caixa WHERE Numero_Container = '123456')
Creio que deva ser isto, ou algo parecido!
[]'s
Marco Aurélio
jpcasati
DELETE FROM produto WHERE produto.numero_caixa = caixa.numero_caixa AND caixa.numero_container = '123' AND produto.numero_produto = '456'
RichardVaugh
obrigado fanama !
Acontece que dessa forma ele vai deletar todos os produto de uma caixa !
pois ele apenas está verificando o container e não o numero_produto, então quando acha a caixa vai acabar deletando tudo que estiver nela, ou seja, todos os produtos !
Poxa, alguém tem alguma idéia de como posso fazer ?
Obrigado !!!
RichardVaugh
Obrigado jpcasati !
No meu banco (HSQLDB) ele acusou a coluna caixa.numero_caixa não encontrada.
Será que tem sintaxe diferente ?
Que estranho !!!
Quando eu coloco valores que não existem ele não dá erro.
Talvez seja pela ordem de análise da query que ele faz…sei lá !
Alguém sabe algo ?
Obrigado !!
R
rictecinf
use o seguinte
delete from produtos where produtos.numero_caixa in(select numero_caixa from caixa where caixa.numero_container = 12345 )
RichardVaugh
rictecinf:
use o seguinte
delete from produtos where produtos.numero_caixa in(select numero_caixa from caixa where caixa.numero_container = 12345 )
rictecinf, se eu usar esse comando ele vai deletar todos da caixa também.
A solução que encontrei foi essa:
delete from produto
where produto.numero_caixa in (select numero_caixa from caixa where numero_container = ‘?’ )
and produto.numero_produto = ‘?’