Retornar quantidade

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
Déborah
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 7
Registrado em: Seg, 30 Nov 2020 6:25 pm
Localização: guarulhos

Preciso fazer uma busca em um banco de dados, e as instruções foram as seguintes:

-Para cada mês do ano anterior ao corrente, retornar a quantidade de carros estacionados por tipo de vaga.

-Fazer a mesma consulta usando porcentagem.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Isso parece um trabalho de faculdade. Normalmente a gente ajuda estudantes nesse forum.
Mas o ideal é que você pelo menos TENTE fazer... E poste aqui o que você tentou e não deu certo.
(Sugiro abrir o olho, pois o professor costuma pesquisar no GOOGLE pelas respostas dos alunos ou pelo enunciado. Como esse site é indexado, você vai acabar tendo problemas.)

Mas enfim, a gente não vai conseguir ajudar sem saber nada das suas tabelas.
Isso é facilmente feito por um GROUP BY.

Selecionar tudo

SELECT
  tipo
, count(*)
FROM tabela
WHERE data >= '01-jan-2019'
GROUP BY tipo;
Como suas tabelas e detalhes são diferentes, a consulta acima provavelmente não vai ajudar.

Por isso, manda pra gente o que você TENTOU fazer.
Déborah
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 7
Registrado em: Seg, 30 Nov 2020 6:25 pm
Localização: guarulhos

Aqui:

Selecionar tudo

select 
    to_char(e.ent_datahora_entrada, 'MM/YYYY') as Data,
    count(e.ent_vag_id) as Quantidade,
    v.vag_tip_id,
    t.tip_descricao_vaga
from 

entradas_saidas e join veiculos v
on e.ent_vei_id = v.vei_id 
and to_char(e.ent_datahora_entrada, 'YYYY') = 2019

left outer join entradas_saidas e join vagas v 
on e.ent_vag_id = v.vag_id

left outer join vagas v join tipos_vagas t
on v.vag_tip_id = t.tip_id

group by to_char(e.ent_datahora_entrada, 'MM/YYYY'), v.vag_tip_id
order by 1;
Déborah
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 7
Registrado em: Seg, 30 Nov 2020 6:25 pm
Localização: guarulhos

Acabei me enrolando toda, vou tentar do jeito que mandou. Na verdade é para estudo mesmo, algumas consultas que não entendi e acabei desistindo de fazer.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Sua query não está funcionando como você queria ?
Me parece que ta tudo certo ali com sua query.

Só faltou a descrição do tipo no GROUP BY:

Selecionar tudo

group by to_char(e.ent_datahora_entrada, 'MM/YYYY'), v.vag_tip_id, t.tip_descricao_vaga
Tirando isso, acho que ta tudo certo.
Déborah
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 7
Registrado em: Seg, 30 Nov 2020 6:25 pm
Localização: guarulhos

Obrigada! Consegui arrumar.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 18 visitantes