SOMAR CODIGOS REPETIDOS DE UM ARRAY
Boa tarde Pessoal !
Por favor,
Tenho esse select abaixo:
SELECT distinct ped.codproduto, ped.pedido, mat.nome
FROM produtos p, pedmaterial ped, matricula mat
WHERE ped.codaluno = mat.codigo order by mat.nome
que me traz como resultado:
CodProduto pedido nº Aluno
50, 2 Ademir Roberto
9, 50, 1 Francisco Carlos
52, 4 Gerson Gimenes
9, 51, 3 Miriam Prado
Não estou sabendo como fazer, pra mostrar também a soma dos códigos de cada produto, tipo:
ProdutoCod Quantidade
50 2
9 2
51 1
52 1
temo como fazer com o count?, fazendo antes um split no cod do produto?.. Penso que seria ideal trazer todos os dados no mesmo Select.
Agradeço pela colaboração
Por favor,
Tenho esse select abaixo:
SELECT distinct ped.codproduto, ped.pedido, mat.nome
FROM produtos p, pedmaterial ped, matricula mat
WHERE ped.codaluno = mat.codigo order by mat.nome
que me traz como resultado:
CodProduto pedido nº Aluno
50, 2 Ademir Roberto
9, 50, 1 Francisco Carlos
52, 4 Gerson Gimenes
9, 51, 3 Miriam Prado
Não estou sabendo como fazer, pra mostrar também a soma dos códigos de cada produto, tipo:
ProdutoCod Quantidade
50 2
9 2
51 1
52 1
temo como fazer com o count?, fazendo antes um split no cod do produto?.. Penso que seria ideal trazer todos os dados no mesmo Select.
Agradeço pela colaboração
Caraaacaaa !!! Melhor vc rever essa modelagem, pois vc atropelou a primeira forma normal.
http://www.luis.blog.br/primeira-forma-normal-1fn-normalizacao-de-dados.aspx
Citação:Uma relação estará na Primeira forma normal 1FN, se e somente se todos os domÃnios básicos contiverem somente valores atômicos (não contiver grupos repetitivos).
Em outras palavras podemos definir que a primeira forma normal não admite repetições ou campos que tenha mais que um valor.
http://www.luis.blog.br/primeira-forma-normal-1fn-normalizacao-de-dados.aspx
Certo Llaia,
Eu estou querendo aproveitar esses dados, que foram gravados assim a pedido do usuário. no caso os códigos dos produtos agrupados por pedido, para outro propósito no programa. Queria aproveitar essa tabela pra fazer um relatório de produtos pendentes, sei que foge da lógica, mas sei que tem um jeito de fazer, já fiz uma vez algo parecido. Mas se não der certo vou ter que salvar os dados que preciso separando por código de produto em outra tabela pra sair o relatório.
Eu estou querendo aproveitar esses dados, que foram gravados assim a pedido do usuário. no caso os códigos dos produtos agrupados por pedido, para outro propósito no programa. Queria aproveitar essa tabela pra fazer um relatório de produtos pendentes, sei que foge da lógica, mas sei que tem um jeito de fazer, já fiz uma vez algo parecido. Mas se não der certo vou ter que salvar os dados que preciso separando por código de produto em outra tabela pra sair o relatório.
Do jeito que você está fazendo, vai ficar bem difÃcil e muito falho... melhor mesmo é remodelar...
[ô]+/- Assim pra você entender
Dim Mtz As Variant
Dim MtzAaux() As Variant
Dim Qtd As Long
Dim i As Integer
[ô]Jogando os Dados Na Matriz
Do While Not Rs.EOF
Mtz = Split(Rs!CodProduto, [Ô],[Ô])
For i = 0 To UBound(Mtz)
Qtd = Qtd + 1
ReDim Preserve MtzAaux(Qtd)
MtzAaux(Qtd) = Mtz(i)
Next
Rs.MoveNext
Loop
[ô]Cria Tabela Temporario
[ô]Jogando na Tabela Temporario
For i = 1 To UBound(MtzAaux)
[ô]Gravar na Tb_Temp
Next
[ô]Select da Maneira que Você Quiser na Tabela temporaria
é isso aà Luiz !
Pelo que vi no seu código, vai ser perfeito pro que preciso, era o que estava tentando fazer.
Só vou poder testar amanhã cedo, porque trabalho a tarde, mas retorno amanhã cedo pra encerrar o tópico.
Obrigado.
Abraço.
Pelo que vi no seu código, vai ser perfeito pro que preciso, era o que estava tentando fazer.
Só vou poder testar amanhã cedo, porque trabalho a tarde, mas retorno amanhã cedo pra encerrar o tópico.
Obrigado.
Abraço.
tente coloca no select
SELECT ped.codproduto, ped.pedido, mat.nome
FROM produtos p, pedmaterial ped, matricula mat
WHERE ped.codaluno = mat.codigo AND ped.codproduto <> ped.codproduto order by mat.nome
SELECT ped.codproduto, ped.pedido, mat.nome
FROM produtos p, pedmaterial ped, matricula mat
WHERE ped.codaluno = mat.codigo AND ped.codproduto <> ped.codproduto order by mat.nome
Bom dia !
Obrigado à todos pelas dicas.
Valew LuizComino, deu certo, era isso que precisava.
Abraço.
Obrigado à todos pelas dicas.
Valew LuizComino, deu certo, era isso que precisava.
Abraço.
Tópico encerrado , respostas não são mais permitidas