Closed leilacarvalho-git closed 2 years ago
select upper(concat(u.firstname, ' ', u.lastname)) as name,u.email as email, u.username as CPF, (select qqc.content from mdl_questionnaire_resp_single qrs inner join mdl_questionnaire_question qq on qq.id = qrs.question_id and qq.surveyid = qs.id and qq.name = 'QUEST_UF_RESIDENCIA' inner join mdl_questionnaire_quest_choice qqc on qqc.question_id = qq.id and qqc.id = qrs.choice_id where qrs.response_id=qr.id) as UF_RESIDENCIA,
(select qqc.content
from mdl_questionnaire_resp_single qrs
inner join mdl_questionnaire_question qq on qq.id = qrs.question_id and qq.surveyid = qs.id and qq.name = 'QUEST_TIPO_INSTITUICAO'
inner join mdl_questionnaire_quest_choice qqc on qqc.question_id = qq.id and qqc.id = qrs.choice_id
where qrs.response_id=qr.id) as TIPO_INSTITUICAO,
(select
(CASE WHEN qqc.content = 'Nenhuma' or qqc.content = 'Instuição privada' THEN 'Sim'
ELSE 'Não'
END)
from mdl_questionnaire_resp_single qrs
inner join mdl_questionnaire_question qq on qq.id = qrs.question_id and qq.surveyid = qs.id and qq.name = 'QUEST_TIPO_INSTITUICAO'
inner join mdl_questionnaire_quest_choice qqc on qqc.question_id = qq.id and qqc.id = qrs.choice_id
where qrs.response_id=qr.id) as Ouvinte,
(select qrt.response
from mdl_questionnaire_response_text qrt
inner join mdl_questionnaire_question qq on qq.id = qrt.question_id and qq.surveyid = qs.id and qq.name = 'QUEST_MUNICIPIO_RESIDENCIA'
where qrt.response_id=qr.id) as MUNICIPIO_RESIDENCIA,
(select qrt.response
from mdl_questionnaire_response_text qrt
inner join mdl_questionnaire_question qq on qq.id = qrt.question_id and qq.surveyid = qs.id and qq.name = 'QUEST_TELEFONE_CELULAR'
where qrt.response_id=qr.id) as TELEFONE_CELULAR
from mdl_questionnaire q
inner join mdl_questionnaire_survey qs on qs.id = q.sid
inner join mdl_questionnaire_response qr on qr.questionnaireid = q.id
inner join mdl_user u on u.id = qr.userid
where qs.courseid = 1933 and qs.name ilike '%erfil%'
[9:10 am, 29/03/2022] Leila: Bom dia, colegas!!
@ILB.Davi Galati.estagiário e @ILB.Lude Yuri.estagiário, para ajudá-los, preparei ontem a consulta com subqueries p os campos nome, uf, município e tipoInstituicao. 👇👇
Faltam pequenos ajustes, q vcs podem pedir ajuda de @ILB.Sesostris, ok?? Ele é o mestre do SQL. Eu sou apenas iniciante.rss..
Tb pesquisei q os recursos a usar no PostgreSQL são “crosstab” ou “pivot” p transformar linhas em colunas.
Seguem 2 links p vcs tb pesquisarem. É um desafio suuupper interessante: CROSSTAB:https://medium.com/@mkober7/postgresql-funcao-crosstab-8da173efa0d2 PIVOT:https://andrebtoe.com/2013/07/18/convertendo-linha-em-coluna-rapidinha/ [9:10 am, 29/03/2022] Leila: SELECT distinct u.firstname, upper(concat(u.firstname, ' ', u.lastname)) as NOME,
(SELECT qqc.content FROM prefix_questionnaire_quest_choice qqc, prefix_questionnaire_resp_single qrs WHERE qrs.choice_id = qqc.id AND qrs.response_id = qr.id AND qrs.question_id = qq.id AND qq.name='QUEST_UF_RESIDENCIA' AND qr.userid = u.id ) AS UF,
(SELECT qqc.content
FROM prefix_questionnaire_quest_choice qqc, prefix_questionnaire_resp_single qrs
WHERE qrs.choice_id = qqc.id
AND qrs.response_id = qr.id
AND qrs.question_id = qq.id AND qq.name='QUEST_TIPO_INSTITUICAO'
AND qr.userid = u.id
) AS TIPO_INSTITUICAO,
(SELECT qrt.response
FROM prefix_questionnaire_response_text qrt
WHERE qrt.response_id = qr.id
AND qrt.question_id = qq.id AND qq.name='QUEST_MUNICIPIO_RESIDEN…
[9:15 am, 29/03/2022] Leila: Importante: onde estiver “prefix_questionnaire’, substituam por ‘mdl_questionnaire’. Blz??
Já, já estarei aí presencial. Estou aqui resolvendo outras demandas de seleção de novos colegas estagiários.
Qq dúvida, podem me chamar ou tb mandar zap p @ILB.Sesostris.👍🏻 [9:19 am, 29/03/2022] ILB.Sesostris: Tô aqui. Precisando, é só chamar [9:29 am, 29/03/2022] Leila: Opa!! @ILB.Sesostris, p favor, ajude-nos a ajustar minha query p ficar só 1 linha c nome, uf, município e tipoInstituicao. Fiz esse draft ontem à noite. Qd executo, ficam 3 linhas p cada user, com os campos em linhas diferentes.rsss…🤣🙈
Tenho q criar um relatório p Maria até 5af.
[9:33 am, 29/03/2022] Leila: Vejam o resultado, q deixei num teste lá dentro do ConfigurableReports do Moodle: https://saberes.senado.leg.br/blocks/configurable_reports/viewreport.php?id=27&courseid=1863
[9:42 am, 29/03/2022] Leila: @ILB.Sesostris, essa aí é a query q implementei ontem à noite. Está com inicial ‘prefix_’ pq testei via Saberes, e não via VPN cliente SQL.😢
[10:29 am, 29/03/2022] ILB.Sesostris: Vou olhar
[11:29 am, 29/03/2022] ILB.Sesostris: select
upper(concat(u.firstname, ' ', u.lastname)) as name,
(select qqc.content
from prefix_questionnaire_resp_single qrs
inner join prefix_questionnaire_question qq on qq.id = qrs.question_id and qq.surveyid = qs.id and qq.name = 'QUEST_UF_RESIDENCIA'
inner join prefix_questionnaire_quest_choice qqc on qqc.question_id = qq.id and qqc.id = qrs.choice_id
where qrs.response_id=qr.id) as UF_RESIDENCIA,
(select qqc.content
from prefix_questionnaire_resp_single qrs
inner join prefix_questionnaire_question qq on qq.id = qrs.question_id and qq.surveyid = qs.id and qq.name = 'QUEST_TIPO_INSTITUICAO'
inner join prefix_questionnaire_quest_choice qqc on qqc.question_id = qq.id and qqc.id = qrs.choice_id
where qrs.response_id=qr.id) as TIPO_INSTITUICAO,
(select qrt.response
from prefix_questionnaire_response_text qrt
inner join prefix_questionnaire_question qq on qq.id = qrt.question_id and qq.surveyid = qs.id and qq.name = 'QUEST_MUNICIPIO_RESIDENCIA'
where qrt.response_id=qr.id) as MUNICIPIO_RESIDENCIA
from prefix_questionnaire q
inner join prefix_questionnaire_survey qs on qs.id = q.sid
inner join prefix_questionnaire_response qr on qr.questionnaireid = q.id
inner join prefix_user u on u.id = qr.userid
where qs.courseid = 1933 and qs.name ilike '%erfil%'
[11:29 am, 29/03/2022] ILB.Sesostris: @Leila 👆
[11:31 am, 29/03/2022] Leila: Mtt bom!! Vou testar assim q chegar ao ILB.
@ILB.Davi Galati.estagiário e @ILB.Lude Yuri.estagiário, vcs já podem ir testando, p favor?? [0:29 pm, 29/03/2022] Leila: @ILB.Sesostris, funcionou superrr!! Já estou fazendo ampliações p aplicar p as demais queries. Mtttttttttttt obrigada.👍 [1:34 pm, 29/03/2022] Leila: 😂🤣 [4:18 pm, 29/03/2022] Leila: @ILB.Davi Galati.estagiário, para determinar se é participante "Ouvinte", fazer um CASE para verificar se foi escolhida a QUEST_TIPO_INSTITUICAO como "Instituição Privada" ou "Nenhuma". [6:02 pm, 29/03/2022] Leila: @ILB.Sesostris, @ILB.Davi Galati.estagiário e @ILB.Lude Yuri.estagiário, muito obrigada pela suuuperr ajuda de vocês na implementação dos SQLs no Moodle. Acabei de criar 2 novos relatórios no Saberes, grupo ConfigurableReports, que fica disponível p todas as Oficinas. Ainda precisarei complementar a totalização com a informação de PRESENÇA, mas eu mesma farei isso. Valeu!!! Agora, podemos retornar ao SIGI a partir de amanhã. Blz?? Mtt obrigada.
LEILA: mplementou a query inicial. SESOSTRIS: revisou e ajustou a query. GALATI: complementou e finalizou. LEILA:criou o relatório no Saberes.
ATIVIDADES DO TKT:
*Instalar CLIENTE SQL para o Saberes: https://docs.google.com/document/d/1xcf6LftnS-Yw2WUsOWmI6wMpWzK4ALTmT5Ctwi6zH6c/edit?usp=sharing
*Drivers PostgreSQL para o Saberes: https://jdbc.postgresql.org/download.html
*Estrutura das tabelas: https://comunidade.badiu.com.br/mod/forum/discuss.php?d=58
*Badiu-GERAL: https://comunidade.badiu.com.br/mod/forum/discuss.php?d=58
*DESENVOLVEDORES - vários EXEMPLOS de SQL: https://comunidade.badiu.com.br/mod/forum/view.php?id=1
*LIST of VARIABLES for CONFIGURABLE REPORTS: https://www.lmspulse.com/2015/list-of-all-variables-and-filters-for-moodles-configurable-reports-plugin/
EXEMPLO - SQL do Sesostris: total de Participantes somente por UF: