[Resolvido] Delete em sql - Inner Join

Como é a sintaxe de uma query usando Inner Join delete em sql, para comparar código de duas tabelas e excluir ser for igual?

Tabela itemVenda. na tabela itemvenda foi registrado uma venda cuja, o código é 4. Para executar o estorno, se for o caso, o usuário pode remover.

Tabela controleCaixa. Quando estornar, o registro da tabela itemvenda será removido e ao mesmo tempo será removido, o registro cujo codDoc = 4. Este código do documento é gerado quando a venda é finalizada.

Segue a estrutura da tabela. Preciso de uma query usando Inner Join delete em sql, para comparar código de duas tabelas e excluir ser for igual.

Basta ler e montar conforme precisa!

Cada banco de dados pode ter uma sintaxe diferente pra fazer isso.

Uma maneira que funciona em todos, se sua chave primária for um campo único (imagino que o campo código no seu caso) é fazer o select com inner join que identifica quais registros devem ser excluídos. Nesse select você retorna apenas a chave primária desses registros e seu delete vira apenas um DELETE com um IN no where, usando o select como sub query.

Isso deve funciona para a maioria dos dbs.

Obrigado, vou dar uma lida no material!

Abel, neste caso consegui resolver estornando um item da venda e excluir, o registro do controle do caixa deixando, só o registro na tabela venda. Resolvi utilizando Delete from controleCaixa where codDoc = 4; Eu estava com dificuldade e pensar como resgatar o código da linha corrente, mas consegui. Obrigado!