Jump to content


Photo

Como Que Eu Faço Pra Ele Não Repetir?


  • Faça o login para participar
6 replies to this topic

#1 peruzzo

peruzzo

    Turista

  • Usuários
  • 56 posts
  • Sexo:Não informado

Posted 28/05/2004, 10:06

OLA bom dia...

Gostaria de uma ajuda.

Eu faço um select em um BD, com diversas tabelas e relacionamentos e coisa e tal. Mas como existe uma tabela que possui o codigo do produto e o codigo da industria, ele acaba repetindo um mesmo produto varias vezes...

Como que eue faço para eu agrupar dados... por select ou por PROGRAMAção (eu já tentei e não vai.... :/) tipo eu teria que agrupar todos os produtos que tenham o mesmo codigo...

VAi ai o meu select:


set conn=server.createobject("adodb.connection")
cnpath="DBQ=" & server.mappath("nomedoBANCO.mdb")
conn.Open="DRIVER={Microsoft Access Driver (*.mdb)}; " & cnpath

VARsql= "SELECT Produto.codigo AS CODprod, Produto.nome AS NOMEprod, Produto.cor AS CORprod, Unidade.nome AS NOMEuni, Fabricante.nome AS NOMEfab, Produto.aprovação AS APROprod, Industria.nome AS NOMEind, Categoria.nome AS NOMEcat, PROD_apl.cod_prod AS CODaplPROD, PROD_apl.cod_app AS CODaplAPL, prod_ind.cod_prod AS CODindPROD, prod_ind.cod_ind AS CODindIND, Produto.imagem AS IMGprod FROM Unidade RIGHT JOIN (((Fabricante RIGHT JOIN (Categoria RIGHT JOIN Produto ON Categoria.codigo = Produto.cod_cat) ON Fabricante.codigo = Produto.cod_fab) INNER JOIN (Aplicacao INNER JOIN PROD_apl ON Aplicacao.codigo = PROD_apl.cod_app) ON Produto.codigo = PROD_apl.cod_prod) INNER JOIN (Industria INNER JOIN prod_ind ON Industria.codigo = prod_ind.cod_ind) ON Produto.codigo = prod_ind.cod_prod) ON Unidade.codigo = Produto.cod_uni WHERE "&VARcat&" AND "&VARind&" AND "&VARapp&" ORDER BY Produto.nome "

set rs=conn.execute(VARsql)

END IF


a variavel que está no WHERE é valores de retorno de um comboBox.

O que eu tava tentando fazer:

colocar o valor do codigo do produto em uma variavel e dai dizer que ele so iria colocar o produto (conjunto de tabelas e registros) se VAR01 for diferente:
IF VAR01 <> (CODindPROD) THEN
<bloco>
</bloco>
Mas ele não funca... :/

alguem tem alguma ideia, se eu posso agrupar dados(pelo codigo) em uma consulta SQL?
pois eu tentei e não consegui.
Pois eu não posso agrupar dados pelo nome pois tem produto que tem o mesmo nome mas o codigo é difedrente.

se alguem puder me ajudar....
ou diga não te mcomo sei la...

beijos
RO
preciso de ajuda!!!!
to empacada nisso...:/
--------------=====--------------------------
:: Bisnet -- www.bisnet.com.br/wsf ::
--------------------------------=====--------------------------

#2 Junka

Junka

    Turista

  • Usuários
  • 51 posts
  • Sexo:Não informado
  • Localidade:São Paulo

Posted 28/05/2004, 14:16

Utilize group by na sua instrução SQL

#3 peruzzo

peruzzo

    Turista

  • Usuários
  • 56 posts
  • Sexo:Não informado

Posted 31/05/2004, 10:55

tá por qual devo agrupar... pois eu tentei e não da... ele da erro...
por qual campo devo usar?

biejos
RO
--------------=====--------------------------
:: Bisnet -- www.bisnet.com.br/wsf ::
--------------------------------=====--------------------------

#4 peruzzo

peruzzo

    Turista

  • Usuários
  • 56 posts
  • Sexo:Não informado

Posted 31/05/2004, 11:13

Erro de tempo de execução do Microsoft VBScript (0x800A01A8)
Objeto necessário: ''
eu coloquei assim: a expressão:

VARsql= "SELECT Produto.codigo AS CODprod, Produto.nome AS NOMEprod, Produto.cor AS CORprod, Unidade.nome AS NOMEuni, Fabricante.nome AS NOMEfab, Produto.aprovação AS APROprod, Industria.nome AS NOMEind, Categoria.nome AS NOMEcat, PROD_apl.cod_prod AS CODaplPROD, PROD_apl.cod_app AS CODaplAPL, prod_ind.cod_prod AS CODindPROD, prod_ind.cod_ind AS CODindIND, Produto.imagem AS IMGprod FROM Unidade RIGHT JOIN (((Fabricante RIGHT JOIN (Categoria RIGHT JOIN Produto ON Categoria.codigo = Produto.cod_cat) ON Fabricante.codigo = Produto.cod_fab) INNER JOIN (Aplicacao INNER JOIN PROD_apl ON Aplicacao.codigo = PROD_apl.cod_app) ON Produto.codigo = PROD_apl.cod_prod) INNER JOIN (Industria INNER JOIN prod_ind ON Industria.codigo = prod_ind.cod_ind) ON Produto.codigo = prod_ind.cod_prod) ON Unidade.codigo = Produto.cod_uni WHERE "&VARcat&" AND "&VARind&" AND "&VARapp&" group by '"& Produto.codigo &"'"
--------------=====--------------------------
:: Bisnet -- www.bisnet.com.br/wsf ::
--------------------------------=====--------------------------

#5 Junka

Junka

    Turista

  • Usuários
  • 51 posts
  • Sexo:Não informado
  • Localidade:São Paulo

Posted 02/06/2004, 12:01

Como Produto.codigo está referente ao campo código da tabela produto, você não deve fazer a concatenação.

Tente assim:

...group by Produto.codigo'"

Um abraço,
Eduardo

#6 [webmaster]®

[webmaster]®

    Hobby por criar funções genérica, semânticas e otimizadas

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Canoas - RS
  • Interesses:ASP<br>CSS<br>JavaScript - DOM - ECMASCRIPT - JSCRIPT<br>XHTML<br>HTML<br>DHTML, AJAX, JSON, TABLELESS<br>ACESS<br>MYSQL<br>SQL SERVER<br><br>SEO, WEBSTANDARDS, ACESSIBILIDADE, USABILIDADE, AI

Posted 04/06/2004, 02:25

Opa galera...

Já vi tanta gente simplesmente falar no Group By, mas não sei como ele funciona, qual é diferença entre Where e td mais.

Se alguém puder dar uma luz :D
Meus sites:
- Guia Camaquã
- Laroya atacadista
- Emílio confecções

Ocupação: WebDeveloper avançado

Contato:
Email: gutoasp[at]gmail[dot]com
MSN: gutoasp[at]hotmail[dot]com
Trabalhando desde 1999 com websites.

Para saber mais sobre meu trabalho, sobre o que faço, e o que sei, clique aqui!

#7 Tarkan

Tarkan

    Powered by Linux - Que inglês! ;)

  • Ex-Admins
  • 651 posts
  • Sexo:Masculino
  • Localidade:Copacabana - RJ

Posted 04/06/2004, 02:31

®,4 Jun 2004, 02:25 ] Opa galera...

Já vi tanta gente simplesmente falar no Group By, mas não sei como ele funciona, qual é diferença entre Where e td mais.

Se alguém puder dar uma luz :D

Na verdade é simples...
GROUP BY, ele agrupa todos os valores de acordo com a referência passada.
Já o WHERE, faz uma seleção, mostrando (ou não) apenas o que foi pedido para ser exibido.

Um presentinho pra você: http://www.linhadeco...?id_ac=75&pag=1

Acho que aqui tem uma referência ótima, você vai gostar de dar uma lida...

Abraços!

:D
' nome: gustavo veiga
' profissão: ALOG Data Centers do Brasil (analista de sistemas)
' publicidade: ALOG Data Centers do Brasil




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq