Ir para conteúdo

POWERED BY:

Arquivado

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

Igor Augusto

Delete com INNER JOIN

Recommended Posts


Bom dia,
Estou tentando fazer um delete a partir de um código de outra tabela.

Tabelas/Campos:

  • tb0021_paises
    1. codigoPAIS
    2. nomePAIS
  • tb0031_cidades
    1. codigoCIDADE
    2. nomeCIDADE
    3. paisCIDADE
  • tb0041_escolas
    1. codigoESCOLA
    2. nomeESCOLA
    3. cidadeESCOLA

Código (Fiz o teste pelo SQL no banco, porém não funciona):

DELETE FROM tb0041_escolas
INNER JOIN tb0031_cidades
ON codigoCIDADE = cidadeESCOLA
INNER JOIN tb0021_paises
ON codigoPAIS = paisCIDADE
WHERE codigoPAIS = '1'

Não sei se é possível fazer algo do tipo, mas minha ideia é a seguinte, quero deletar todas as escolas de um certo pais, porém a tabela PAIS não está relacionada diretamente com a tabela ESCOLA, passando primeiro pela tabela CIDADES, por isso a necessidade de um INNER JOIN.

 

Agradeço desde já a todos.

 

:thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Após quase 2h eu consegui resolver meu problema, depois de inúmeros testes enfim deu certo.

 

Código funcionando para quem precisar:

DELETE FROM tb0041_escolas
USING tb0041_escolas
INNER JOIN tb0031_cidades
INNER JOIN tb0021_paises
WHERE tb0041_escolas.cidadeESCOLA = tb0031_cidades.codigoCIDADE
AND tb0031_cidades.paisCIDADE = tb0021_paises.codigoPAIS
AND tb0021_paises.codigoPAIS = '3'

Fonte

 

:bye:

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.