Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

nuno35

Interrograções a tabelas

Mensagens Recomendadas

nuno35

Boa Tarde

Tenho aqui um caso em que tenho a tabela1(id_tabela1, nome) e depois tenho duas entidades fracas que sao a tabela 2(id_tabela1, id_tabela2, descricao) e a tabela3(id_tabela1, id_tabela3, numero), e eu quero saber o nome(tabela 1) que esta na tabela 2 mas nao esta na tabela 3

Como é que posso fazer isto?

Desde ja obrigado 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jsWizard

"entidades fracas" - ?? oi ??

em relação à questão... é só pensar e escrever..

-- queres o nome
SELECT a.nome

-- tem de existir na tabela 1 e 2
FROM tabela1 a INNER JOIN tabela2 b ON (a.id_tabela1 = b.id_tabela_1)

-- e que não existe na tabela 3
WHERE a.id_tabela_1 NOT IN (select c.id_tabela_1 FROM tabela3 c);

"entidades fracas" .. ca cena :D

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nuno35

Obrigado esta certissimo eu estava a fazer algo parecido mas nao estava a fazer com o inner join e outra duvida é que eu estava a por IN em vez de ON qual é a diferença?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nuno35

Tenho aqui outra duvida noutra tabelas por exemplo tenho de fazer que cada nome da tabela1(id_tabela1, nome) mostrar o numero maximo de pessoas com esse nome que esta na tabela2(id_tabela1, id_tabela2, numero_pessoas) ou seja tem de ser

nome1-numero maximos de pesssoas com esse nome

nome2-numero maximos de pesssoas com esse nome

o codigo que tenho agora so me mostra para o primeiro nome depois nao mostra mais

SELECT a.nome, b.numero
FROM tabela1 a, tabela2 b
WHERE a.id_tabela1=b.id_tabela1 AND b.numero=(SELECT MAX(b2.numero)FROM tabela2 b2)

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.