Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
ola boa tarde, estou quebrando cabeça com um trabalho escolar, mostrar as tabelas que nao se relaciona com a tabela X,
a primeira questao foi mostrar todas as tabelas que se relaciona com a tabela X, isso eu conseguir, e esse foi o código
select REFERENCED_TABLE_NAME
from information_schema.referential_constraints
where constraint_schema = 'teste' and table_name = 'BAIRRO'
union
SELECT table_nameneste código eu pego todas as tabelas que estao se relacionando com a tabela bairro. agora preciso pegar todas que NAO se relaciona usando o information_schema, alguem pode me dá uma luz? rsrsrs
até agora todas as tentativas foram em vao.
espero resposta, abraço.
yf
>
Dica , pesquise por NOT EXISTS ou NOT IN
Ou ainda OUTER JOIN tratando nulos
Ola sr MOtta boa noite, desde a hora que postou estou tentando resolver, mas esta voltando nemhum resultado, se puder me dá mais uma força,to tentando dessa maneira
select table_name
from information_schema.key_column_usage
where constraint_schema = 'bd_sinf22n' and TABLE_NAME = 'BAIRRO'** not in **(select TABLE_NAME from information_schema.referential_constraints);
select *
from information_schema.key_column_usage
where not exists (
select campoA from information_schema.referential_constraints
where campoB = valor
)Creio ser isto
SELECT table_name
FROM information_schema.referential_constraints
where table_name not in (select REFERENCED_TABLE_NAME
from information_schema.referential_constraints
where constraint_schema = 'teste' and table_name = 'BAIRRO'
union
SELECT table_name
FROM information_schema.referential_constraints
WHERE constraint_schema = 'teste' and REFERENCED_TABLE_NAME = 'BAIRRO')>
Creio ser isto
SELECT table_name
FROM information_schema.referential_constraints
where table_name not in (select REFERENCED_TABLE_NAME
from information_schema.referential_constraints
where constraint_schema = 'teste' and table_name = 'BAIRRO'
union
SELECT table_name
FROM information_schema.referential_constraints
WHERE constraint_schema = 'teste' and REFERENCED_TABLE_NAME = 'BAIRRO')
obrigado sr motta , mas o cód só funcionou uns 40% ele ta retornando tambem tabelas relacionada com a tabela bairro, e quando retorna as que nao estao relacionada, nao retorna todas.
faça só com as tabelas ...
SELECT table_name
FROM information_schema.referential_constraints
where table_name not in (
SELECT table_name
FROM information_schema.referential_constraints
WHERE constraint_schema = 'teste' and REFERENCED_TABLE_NAME = 'BAIRRO')acho q no caso se a palvra é RELACIONAMENTO o correto seria apenas left join ou outer join com nulos
Obrigado a todos pelas resposta, eu nao sabia que dava para fazer inner join com information_schema, vou ver oque consigo fazer, e sr MOtta, esse cód me ajudou muito ,obrigado.
Senhor !?
Que isto amigo !!
Dica , pesquise por NOT EXISTS ou NOT IN
Ou ainda OUTER JOIN tratando nulos