Consulta sql devoloper
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
Post 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
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
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?
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
Clique aqui para fazer login e interagir na Comunidade :)