nuno35 0 Denunciar mensagem Publicado 30 de Novembro de 2016 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 6 Denunciar mensagem Publicado 1 de Dezembro de 2016 "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 Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
nuno35 0 Denunciar mensagem Publicado 1 de Dezembro de 2016 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 0 Denunciar mensagem Publicado 1 de Dezembro de 2016 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