JoaoVM Posted February 26, 2014 at 04:29 PM Report #546741 Posted February 26, 2014 at 04:29 PM Boa tarde, tenho aqui um problema que penso que me podem ajudar a resolver, tenho um sistema de formações, no qual pretendo saber quais das formações ainda não foram dadas a um determinado colaborador. Vejamos, este SQL devolve as formações que ele já tem: SELECT DISTINCT F.formador, F.formando, F.data, LF.id_linha, TF.tipo_formacao, TF.descricao FROM tipo_formacao AS TF INNER JOIN formacao AS F ON TF.id_tipo_formacao=F.tipo_formacao INNER JOIN linha_formacao AS LF ON F.id_formacao=F.id_formacao WHERE F.formando=000001 AND LF.id_linha=126; Existem 5 tipos de formações, falta o tipo F, que é o que eu quero que apareça, que é a formação pendente do colaborador. Alguém me consegue ajudar?
Solution JoaoVM Posted February 26, 2014 at 05:13 PM Author Solution Report #546747 Posted February 26, 2014 at 05:13 PM Já consegui, estava a dar o nó mas consegui 😉 Aqui fica: SELECT DISTINCT F.tipo_formacao AS TIPO_FORM, TF.tipo_formacao AS TIPO, TF.descricao as DESCRICAO FROM formacao AS F INNER JOIN tipo_formacao AS TF ON F.tipo_formacao=TF.id_tipo_formacao WHERE NOT EXISTS (SELECT TFF.id_tipo_formacao FROM tipo_formacao AS TFF INNER JOIN formacao AS F2 ON TFF.id_tipo_formacao=F2.tipo_formacao INNER JOIN linha_formacao AS LF2 ON F2.id_formacao=LF2.id_formacao WHERE F.tipo_formacao=TFF.id_tipo_formacao AND F2.formando=000001 AND LF2.id_linha=120);
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now