Fórum Consulta sql devoloper #589249
26/11/2017
0
Preciso realizar uma consulta em uma tabela, na qual retorne a quantidade de registros determinado por mês, e tipo do porte do animal (o banco de dados é de um petshop, na qual o animal é cadastrado em uma tabela, e na outro o seu porte, pequeno, medio, e etec). a consulta deveria retornar: abril,50,grande.
Na tb_prest_servicos, temos os serviços realizados, e data (que esta no formato dd/mm/yyyy), que esta ligada com a tb_animal, que por sua vez esta ligada com
tb_porte (onde contem o porte do animal).
Preciso de ajuda pra relizar essa consulta pois não faço ideia de como realiza-la.
agradeço desde já!
Filipe Romano
Curtir tópico
+ 0Post mais votado
27/11/2017
o primeiro código com as alterações que você falou ficou assim:
SELECT YEAR((DATA_ENTRADA)) AS ANO ,
MONTH(DATA_ENTRADA) AS MES
,[PORTE]
, COUNT(SERVICO_ID) AS QUANTIDADE
FROM TB_PREST_SERVICOS
INNER JOIN TB_ANIMAL ON TB_PREST_SERVICOS.ANIMAL_ID = TB_ANIMAL.ANIMAL_ID
INNER JOIN TB_TIPO_ANIMAL ON TB_PREST_SERVICOS.ANIMAL_ID = TB_TIPO_ANIMAL.ANIMAL_ID
GROUP BY YEAR((DATA_ENTRADA)) AS ANO
, MONTH(DATA_ENTRADA) AS MES
, [PORTE];o que eu alterei ficou assim:
SELECT YEAR(DATA_ENTRADA) ,
MONTH(DATA_ENTRADA)
,TB_TIPO_ANIMAL.PORTE
, COUNT(SERVICO_ID)
FROM TB_PREST_SERVICOS
INNER JOIN TB_ANIMAL ON TB_PREST_SERVICOS.ANIMAL_ID = TB_ANIMAL.ANIMAL_ID
INNER JOIN TB_TIPO_ANIMAL ON TB_PREST_SERVICOS.ANIMAL_ID = TB_TIPO_ANIMAL.ANIMAL_ID
GROUP BY YEAR(DATA_ENTRADA)
, MONTH(DATA_ENTRADA)
,TB_TIPO_ANIMAL.PORTE;Filipe Romano
Gostei + 2
Mais Posts
27/11/2017
Luiz Santos
Sua consulta ficaria mais ou menos assim.
SELECT YEAR((CAMPO_DATA) AS ANO
, MONTH(CAMPO_DATA) AS MES
, [CAMPO_PORTE]
, COUNT(CAMPO_SERVICO) AS QUANTIDADE
FROM tb_prest_servicos
INNER JOIN tb_animal ON [COLUNAS PARA FAZER A LIGAÇÃO ENTRE AS TABELAS]
INNER JOIN tb_porte ON [COLUNAS PARA FAZER A LIGAÇÃO ENTRE AS TABELAS]
GROUP BY YEAR((CAMPO_DATA) AS ANO
, MONTH(CAMPO_DATA) AS MES
, [CAMPO_PORTE]
Substitua as tags que eu coloquei pelos seus campos.
Grande abs
Gostei + 0
27/11/2017
Filipe Romano
SELECT YEAR((DATA_ENTRADA) AS ANO
,
MONTH(DATA_ENTRADA) AS MES
, [PORTE]
, COUNT(SERVICO_ID) AS QUANTIDADE
FROM TB_PREST_SERVICOS
INNER JOIN TB_ANIMAL ON [ANIMAL_ID]
INNER JOIN TB_TIPO_ANIMAL ON [ANIMAL_ID]
GROUP BY YEAR((DATA_ENTRADA) AS ANO
, MONTH(DATA_ENTRADA) AS MES
, [PORTE];
porém deu erro de "missing right parenthesis", alguma ideia de onde eu errei na hora de preencher?
Gostei + 0
27/11/2017
Luiz Santos
Mas o seu JOIN também vai dar erro.
Você, depois do ON, precisa colocar TB_PREST_SERVICOS.ANIMAL_ID = TB_ANIMAL.ANIMAL_ID
E no segundo ON TB_PREST_SERVICOS.ANIMAL_ID = TB_TIPO_ANIMAL.ANIMAL_ID
Faça essas modificações e veja se funciona.
Grande abs
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)