[RESOLVIDO]Ajuda com query

4 respostas
P

Fala feras :smiley:

Preciso criar um relatorio onde vai ter um count de ‘status’ de um produto por usuario…

Eu preciso exibir os dados assim

Nome | Qtde Status 1 | Qtde Status 2 | Qtde Status 3

Eu fiz uma parte da query, mas não sei como adaptar o resto pra contar as quantidades…eu só consigo contar uma quantidade por vez e não consigo preencher o relatório:

SELECT USUARIO.NOME, USUARIO.NUM_MATRICULA, USUARIO.COD_BARRAS, COUNT(*) AS VENDIDOS FROM USUARIO
INNER JOIN ASSOCIACAO ON USUARIO.ID_USUARIO = ASSOCIACAO.ID_USUARIO_OPERADOR
INNER JOIN TALAO ON ASSOCIACAO.ID_TALAO = TALAO.ID_TALAO
WHERE TALAO.ID_STATUS_TALAO = 3 GROUP BY USUARIO.NOME

Alguém pode me dar uma força?

Valeu

4 Respostas

diego2005

Olá,

tem como dar um exemplo melhor??? Acho que não ficou muito claro…

T+

P

Fala diego :smiley:

Então cara, eu tenho 3 tabelas: USUARIO, TALAO e ASSOCIACAO. O Talao pode ter 3 tipos de status: cadastro com usuario ( st 1 ), venda ( st 2 ) e devolução ( st 3 ). A tabela Associacao serve apenas pra linkar Usuarios X Taloes e outras informacoes.

Eu preciso fazer um select que me retorne quantos Talões o usuario tem no status 1, status 2 e status 3. Entendeu?

Aquela query q eu colei, só retorna o nome de usuário e a quantidade que ele tem no status 3 e se eu mudar o status 1 ou 2, não consigo montar uma única query e vai dar trabalho pra ver se o usuario possui algo nos outros status pq ali, eu pego tudo q está relacionado entre eles. Entendeu?

P

Puts, depois de brigar aqui…consegui :smiley:

SELECT USUARIO.NOME, SUM(TALAO.ID_STATUS_TALAO=3) AS RECEBIDOS,
	SUM(TALAO.ID_STATUS_TALAO=4) AS DEVOLVIDOS,
	SUM(TALAO.ID_STATUS_TALAO=5) AS VENDIDOS
 FROM USUARIO
INNER JOIN ASSOCIACAO ON USUARIO.ID_USUARIO = ASSOCIACAO.ID_USUARIO_OPERADOR
INNER JOIN TALAO ON ASSOCIACAO.ID_TALAO = TALAO.ID_TALAO
GROUP BY USUARIO.NOME

Valeu cara

diego2005

Vê se essa query ajuda:

select usuario.nome, talao.id_status_talao, count(*) from usuario inner join associacao on usuario.id_usuario = associacao.id_usuario_operador inner join talao on associacao.id_talao = talao.id_talao group by usuario.nome, talao.id_status_talao

T+

Criado 16 de maio de 2009
Ultima resposta 16 de mai. de 2009
Respostas 4
Participantes 2