Alguém me ajuda! Aqui
Preciso excluir todas as retiradas da aluna “Ana”.
CREATE TABLE ALUNO idAluno
Nome
Telefone
Nasc
CREATE TABLE RETIRADA idAluno
idLivro
DataRetirada
CREATE TABLE ALUNO idAluno
Nome
Telefone
Nasc
CREATE TABLE RETIRADA idAluno
idLivro
DataRetirada
Flavio Liberato
Curtidas 0
Respostas
Hélio Devmedia
24/03/2019
Olá Flávio, tudo bem?
O SQL que você precisa seria basicamente assim:
delete from retirada r where
(select a.Nome from aluno a where a.idAluno = a.idAluno)= 'Ana'
(1) porém, faça uma cópia da base antes para testar, para não haver danos colaterais na base por caus de detalhes da tabela que não foram mencionados.
(2) é possível que haja variações do nome Ana, e o sql está levando em consideração a palavra Ana do jeito que está entre aspas, sem sobrenome e com caixa alta na primeira letra.
Espero ter ajudado,
Um forte abraço e fique com Deus!
O SQL que você precisa seria basicamente assim:
delete from retirada r where
(select a.Nome from aluno a where a.idAluno = a.idAluno)= 'Ana'
(1) porém, faça uma cópia da base antes para testar, para não haver danos colaterais na base por caus de detalhes da tabela que não foram mencionados.
(2) é possível que haja variações do nome Ana, e o sql está levando em consideração a palavra Ana do jeito que está entre aspas, sem sobrenome e com caixa alta na primeira letra.
Espero ter ajudado,
Um forte abraço e fique com Deus!
GOSTEI 0
Cicero Sobrinho
24/03/2019
Se ainda não tiver conseguido faz: DELETE FROM retirada WHERE idAluno IN (SELECT idAluno FROM aluno WHERE UPPER(nome) = ''ANA'');
Para maior segurança, caso haja homônimos, faz assim: DELETE FROM retirada WHERE idAluno IN (SELECT idAluno FROM aluno WHERE UPPER(nome) = ''ANA'' AND nasc = dataNascimetoDeAna);
Para maior segurança, caso haja homônimos, faz assim: DELETE FROM retirada WHERE idAluno IN (SELECT idAluno FROM aluno WHERE UPPER(nome) = ''ANA'' AND nasc = dataNascimetoDeAna);
GOSTEI 0