Problemas com função de grupo
30/12/2013
0
Poderi dar um aajudana quary?
SELECT COUNT(*)Quantidade, item.`codigo` AS item_codigo, empresa.`codigo` AS empresa_codigo, tecnico_item.`codigo_item` AS tecnico_item_codigo_item, tecnico_item.`codigo_tecnico` AS tecnico_item_codigo_tecnico, usuario.`codigo` AS usuario_codigo, empresa.`nome_fantasia` AS empresa_nome_fantasia, item.`codigo_item` AS item_codigo_item, item.`criticidade` AS item_criticidade, item.`data_item` AS item_data_item, item.`descricao` AS item_descricao, usuario.`nome` AS usuario_nome, empresa.`data_fim` AS empresa_data_fim, empresa.`data_ini` AS empresa_data_ini FROM `empresa` empresa INNER JOIN `item` item ON empresa.`codigo` = item.`codigo_empresa` INNER JOIN `tecnico_item` tecnico_item ON item.`codigo` = tecnico_item.`codigo_item` INNER JOIN `usuario` usuario ON tecnico_item.`codigo_tecnico` = usuario.`codigo` AND empresa.`codigo` = usuario.`codigo_empresa` GROUP BY item.`codigo`, empresa.`codigo`, tecnico_item.`codigo_item`, tecnico_item.`codigo_tecnico`, usuario.`codigo`, empresa.`nome_fantasia`, item.`codigo_item`, item.`criticidade`, item.`data_item`, item.`descricao`, usuario.`nome`, empresa.`data_fim`, empresa.`data_ini`
A saída é :
1 2 1 2 12 12 Nome Fantasia Da Empresa V01 X 2013-12-16
1 3 1 3 12 12 Nome Fantasia Da Empresa V05 X 2013-12-16
1 4 1 4 12 12 Nome Fantasia Da Empresa V09 X 2013-12-16
1 5 1 5 12 12 Nome Fantasia Da Empresa V013 X 2013-12-16
1 6 1 6 12 12 Nome Fantasia Da Empresa V017 X 2013-12-16
1 7 1 7 12 12 Nome Fantasia Da Empresa V021 X 2013-12-16
1 8 1 8 12 12 Nome Fantasia Da Empresa V025 X 2013-12-16
1 9 1 9 12 12 Nome Fantasia Da Empresa V029 X 2013-12-16
1 10 1 10 12 12 Nome Fantasia Da Empresa V033 X 2013-12-16
1 11 1 11 12 12 Nome Fantasia Da Empresa V037 X 2013-12-16
1 12 1 12 12 12 Nome Fantasia Da Empresa V041 X 2013-12-16
1 13 1 13 12 12 Nome Fantasia Da Empresa V045 X 2013-12-16
1 14 1 14 12 12 Nome Fantasia Da Empresa V049 X 2013-12-16
1 15 1 15 12 12 Nome Fantasia Da Empresa V053 X 2013-12-16
Rafael Moreira
Posts
30/12/2013
Alex Lekao
Desculpe mas nao entendi bem.
Ele esta contando apenas um item para cada tecnico?
Para mim o seu problema ficou um pouco vago.
Nao conheco noSQL mas tente com uma subselect para ver se funciona, na subselect na clausula where vc colocar uma igualdade de algum campo unico com a select principal, e veja se funciona.
Qqr coisa posta ai que a gente vai vendo o que consegue.
Abraco.
Alex - Lekao
30/12/2013
Rafael Moreira
fiz o seguinte, mas retornou zero(0).
select Count(*) Quantidade from item as i where not exists( select 1 from usuario as u where not exists( select 1 from tecnico_item ti where u.codigo = ti.codigo_tecnico and i.codigo = ti.codigo_item))
30/12/2013
Alex Lekao
select count(coditen) from tabela group by codtecnico
Podemos ir tentando fazer algo.
31/12/2013
Rafael Moreira
Select
count(codigo_item)
from tecnico_item
group by codigo_tecnico;
Saída::
Count(código item)
1
14
Tenho 15 registros ..
A tabela está assim:
2 12
3 12
4 12
5 12
6 12
7 12
8 12
9 12
10 12
11 12
12 12
13 12
14 12
15 12
2 11
02/01/2014
Alex Lekao
select count(coditen) from tabela where codtecnico = codtecnico group by codtecnico
neste where vc precisa informar as referencias da tabela deste subselect com o select de fora(principal) e vamos ver se da certo e traz os resultados que vc esta querendo.
03/01/2014
Rafael Moreira
[code][/select x.cnt, x.codigo_tecnico, x.codigo_item, x.nome, i.descricao from
(
SELECT ti.cnt,ti.codigo_tecnico,ti.codigo_item,u.nome
FROM Usuario u
-- use LEFT JOIN if you may not have a match to get zero counts
JOIN (
SELECT codigo_tecnico,codigo_item, COUNT(*) cnt
FROM tecnico_item
GROUP BY codigo_tecnico
) ti ON ti.codigo_tecnico = u.codigo) x, Item i, usuario u2
where x.codigo_item= i.codigo
and u2.codigo = x.codigo_tecnico
[img:descricao=Imagem do resultado da query com a funcao de grupo]http://arquivo.devmedia.com.br/forum/imagem/264307-20140103-194041.png[/img]code]
04/01/2014
Alex Lekao
bom dia..
nao consegui ver a imagem que vc postou... se for possivel postar novamente...
o seu codigo que colocou agora esta meio estranho e diferente em relacao ao anterior que vc havia comecado.
essa imagem que postou eh do codigo?? poste novamente por favor para eu verificar.
Clique aqui para fazer login e interagir na Comunidade :)