Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

edgard

agrupar uma lista qualquer

Recommended Posts

Ola... é o seguinte... imaginem duas tabelas... uma de grupo e a outra de telefonesComo eu faço para mostrar isso em uma tabela em asp agrupada por grupo...Ex.:Casatelefone nome11111 Joao22222 BeatrizTrabalhotelefone nome33333 Fabio44444 CidaDesta forma acima... uma programação que fique assim.. o grupo, depois os titulos e as pessoas que fazem parte deste grupo e logo em seguida muda de grupo e continua a mesma coisa, titulo e as pessoas que fazem parte deste grupo...Obrigado, gostaria muito da sua ajuda... se puder é claro!!!Um abraço, FELIZ 2004 PARA TODOS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não entendi muito bem.. tente ilustrar melhor..mas de qualquer forma tente:select... where...GROUP BY campo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não entendi muito bem.. tente ilustrar melhor..mas de qualquer forma tente:select... where...GROUP BY campo

Obrigado por me ajudar, então eu vou colocar todo o meu código abaixo ta ok ai derrepente você consegue entender melhor a minha dificuldadea parte do group by eu sei... o que eu não consigo é mostrar todos os registros daquele grupo e em seguida mudar de grupo e mostrar os outros registros entendeu...<% server.scripttimeout=300 dim ConsTelefones dim contador Set ConsTelefones=Server.CreateObject("ADODB.Recordset") sSQL = "Select * FROM consulta_geral" sFiltro = " ORDER BY cdGrupo" ConsTelefones.Open sSQL & sFiltro,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("banco de dados\telefones.MDB") if ConsTelefones.EOF then %> <p><font size="4" face="Verdana, Arial, Helvetica, sans-serif"><strong>:: Telefones ::<br> <table width="100%" cellpadding="2" cellspacing="0"> <tr bgcolor="#006699"> <td bgcolor="#364B85"> <div align="left"><font color="#FFFFFF" size="3" face="Verdana, Arial, Helvetica, sans-serif"><strong>N</strong></font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">ão existem telefones</font></div></td> </tr> </table> </strong></font><font size="1"><font face="Verdana, Arial, Helvetica, sans-serif"></p> <% else %> <p><font size="4" face="Verdana, Arial, Helvetica, sans-serif"><strong>:: Telefones ::</strong></font></p> <% contador=1 do while not ConsTelefones.eof if cint(ConsTelefones("cdGrupo")) = cint(ConsTelefones("cdGrupo")) then %> <table width="100%" cellpadding="2" cellspacing="0"> <tr bgcolor="#364B85"> <td colspan="3"> <font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>DEPARTAMENTO: <%=ConsTelefones("nmGrupo")%></strong></font></td> </tr> <tr bgcolor="#6A95B5"> <td width="5%"> <div align="left"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>SETOR</b></font></div> </td> <td width="5%"> <div align="left"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>RAMAL</b></font></div> </td> <td width="5%"> <div align="left"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>DIRETO</b></font></div> </td> </tr> <% end if if contador = 1 then contador=0 %> <tr bgcolor="#C7D7E2"> <td bgcolor="#E9EFF3" width="30%"> <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=Response.Write(ConsTelefones("nmSetor"))%></font></div> </td> <td bgcolor="#E9EFF3" width="30%"> <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=Response.Write(ConsTelefones("nrRamal"))%></font></div> </td> <td bgcolor="#E9EFF3" width="30%"> <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=Response.Write(ConsTelefones("nrTelefone"))%></font></div> </td> </tr> <% else contador=1 %> <tr bgcolor="#FFFFFF"> <td bgcolor="#FFFFFF" width="30%"> <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=Response.Write(ConsTelefones("nmSetor"))%></font></div> </td> <td bgcolor="#FFFFFF" width="30%"> <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=Response.Write(ConsTelefones("nrRamal"))%></font></div> </td> <td bgcolor="#FFFFFF" width="30%"> <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=Response.Write(ConsTelefones("nrTelefone"))%></font></div> </td> </tr> <% end if ConsTelefones.movenext Loop end if ConsTelefones.close set ConsTelefones = nothing %> </table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmm...usa ALIASE na query do sql...fica mais facil;...Se não souber como faz da um toque que eu ponho um exemplo aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmm...usa ALIASE na query do sql...fica mais facil;...Se não souber como faz da um toque que eu ponho um exemplo aqui

alias na sql... mas isso não serve para apelidar um campo ou uma tabela... desculpa cara, não entendi... que seja, eu uso alias... me mostra então como fazer isso... para eu entender melhor então... por favor... muito obrigado, mas você entendeu o que eu gostaria de fazer né?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos por partes.1 - você tem duas tabelas, uma com o nome do cara e outra com o telefone, certo?2 - Na tabela de telefones você tem uma chave estrangeira da tabela do cara, certo?3 - Caso sim, basta fazer um select com inner join que resolve o problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos por partes.1 - você tem duas tabelas, uma com o nome do cara e outra com o telefone, certo?2 - Na tabela de telefones você tem uma chave estrangeira da tabela do cara, certo?3 - Caso sim, basta fazer um select com inner join que resolve o problema.

Vamos por partes.1 - você tem duas tabelas, uma com o nome do cara e outra com o telefone, certo?Resposta: eu tenho um banco de dados chamado telefones.mdb e tenho duas tabelas, uma chamada grupos e outra setores e uma consulta chamada CONSULTA_GERAL2 - Na tabela de telefones você tem uma chave estrangeira da tabela do cara, certo?Resposta: a tabela de setores possui uma chave estrangeira que é o codigo do grupo e assim eu faço consulta_geral assim:SELECT [sETORES].[cdTelefone] AS cdTelefone, [sETORES].[nrRamal] AS nrRamal, [sETORES].[nrTelefone] AS nrTelefone, [sETORES].[nmSetor] AS nmSetor, [GRUPOS].[cdGrupo] AS cdGrupo, [GRUPOS].[nmGrupo] AS nmGrupo, [sETORES].[iaSeq] AS iaSeqFROM SETORES, GRUPOSWHERE Setores.cdGrupo = Grupos.cdGrupo;3 - Caso sim, basta fazer um select com inner join que resolve o problema.onde eu posso colocar esse inner join??????? no select do banco de dados, na própria .asp desculpa a ignorância carinha... é que eu não consigo entender o que esta sendo falado... o .asp ta funcionando certo, só que eu não sei mostrar na tela aquilo que eu disse la em cima...ter o grupodepois os titulose os registroster o grupodepois os titulose os registroster o grupodepois os titulose os registroseu achei que teria que ser um if la dentro do asp que não estou sabendo fazer... tipo, ou um do while, tipo assim, enquanto aqueles registros daquele grupo não acabar continua, e se acabar ja passa para o outro grupo... eu pensei que teria que fazer alguma coisa assim e não mexer no sql... agora se é realmente no sql, só por favor, me mostra colocando esse inner join na consulta para eu ver...Obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos por partes.1 - você tem duas tabelas, uma com o nome do cara e outra com o telefone, certo?2 - Na tabela de telefones você tem uma chave estrangeira da tabela do cara, certo?3 - Caso sim, basta fazer um select com inner join que resolve o problema.

Vamos por partes.1 - você tem duas tabelas, uma com o nome do cara e outra com o telefone, certo?Resposta: eu tenho um banco de dados chamado telefones.mdb e tenho duas tabelas, uma chamada grupos e outra setores e uma consulta chamada CONSULTA_GERAL2 - Na tabela de telefones você tem uma chave estrangeira da tabela do cara, certo?Resposta: a tabela de setores possui uma chave estrangeira que é o codigo do grupo e assim eu faço consulta_geral assim:SELECT [sETORES].[cdTelefone] AS cdTelefone, [sETORES].[nrRamal] AS nrRamal, [sETORES].[nrTelefone] AS nrTelefone, [sETORES].[nmSetor] AS nmSetor, [GRUPOS].[cdGrupo] AS cdGrupo, [GRUPOS].[nmGrupo] AS nmGrupo, [sETORES].[iaSeq] AS iaSeqFROM SETORES, GRUPOSWHERE Setores.cdGrupo = Grupos.cdGrupo;3 - Caso sim, basta fazer um select com inner join que resolve o problema.onde eu posso colocar esse inner join??????? no select do banco de dados, na própria .asp desculpa a ignorância carinha... é que eu não consigo entender o que esta sendo falado... o .asp ta funcionando certo, só que eu não sei mostrar na tela aquilo que eu disse la em cima...ter o grupodepois os titulose os registroster o grupodepois os titulose os registroster o grupodepois os titulose os registroseu achei que teria que ser um if la dentro do asp que não estou sabendo fazer... tipo, ou um do while, tipo assim, enquanto aqueles registros daquele grupo não acabar continua, e se acabar ja passa para o outro grupo... eu pensei que teria que fazer alguma coisa assim e não mexer no sql... agora se é realmente no sql, só por favor, me mostra colocando esse inner join na consulta para eu ver...Obrigado...
sabe onde tem uma coisa bem parecida com o que estou tentando fazer... no site da www.tecnoponta.com.br no menu cursos tem exatamente o que eu quero fazer... ele mostra direitinho como ficaria... só não mostra como fazer hehehe...Obrigado pela ajuda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos por partes.1 - você tem duas tabelas, uma com o nome do cara e outra com o telefone, certo?2 - Na tabela de telefones você tem uma chave estrangeira da tabela do cara, certo?3 - Caso sim, basta fazer um select com inner join que resolve o problema.

Vamos por partes.1 - você tem duas tabelas, uma com o nome do cara e outra com o telefone, certo?Resposta: eu tenho um banco de dados chamado telefones.mdb e tenho duas tabelas, uma chamada grupos e outra setores e uma consulta chamada CONSULTA_GERAL2 - Na tabela de telefones você tem uma chave estrangeira da tabela do cara, certo?Resposta: a tabela de setores possui uma chave estrangeira que é o codigo do grupo e assim eu faço consulta_geral assim:SELECT [sETORES].[cdTelefone] AS cdTelefone, [sETORES].[nrRamal] AS nrRamal, [sETORES].[nrTelefone] AS nrTelefone, [sETORES].[nmSetor] AS nmSetor, [GRUPOS].[cdGrupo] AS cdGrupo, [GRUPOS].[nmGrupo] AS nmGrupo, [sETORES].[iaSeq] AS iaSeqFROM SETORES, GRUPOSWHERE Setores.cdGrupo = Grupos.cdGrupo;3 - Caso sim, basta fazer um select com inner join que resolve o problema.onde eu posso colocar esse inner join??????? no select do banco de dados, na própria .asp desculpa a ignorância carinha... é que eu não consigo entender o que esta sendo falado... o .asp ta funcionando certo, só que eu não sei mostrar na tela aquilo que eu disse la em cima...ter o grupodepois os titulose os registroster o grupodepois os titulose os registroster o grupodepois os titulose os registroseu achei que teria que ser um if la dentro do asp que não estou sabendo fazer... tipo, ou um do while, tipo assim, enquanto aqueles registros daquele grupo não acabar continua, e se acabar ja passa para o outro grupo... eu pensei que teria que fazer alguma coisa assim e não mexer no sql... agora se é realmente no sql, só por favor, me mostra colocando esse inner join na consulta para eu ver...Obrigado...
Bem acho que assim deve resolver.Vamos assumir q o nome dos campos das tabelas sejão os seguintes:Tabela: GruposCampos: Codigo, nomeTabela: SetoresCampos: codigo_grupo, telefones, ramais, etc....O Select que você deve fazer é assim:Select grupos.codigo, grupos.nome, setores.codigo_grupos, setores.etc......, from grupos inner join setores ON grupos.codigo = setores.codigo_gruposNeste caso o select retorna os valores das duas tabelas, desde que na tabela sertores no campo codigo_grupos existam valores que estão cadastrados na tabela grupos no campo codigo.Entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos por partes.1 - você tem duas tabelas, uma com o nome do cara e outra com o telefone, certo?2 - Na tabela de telefones você tem uma chave estrangeira da tabela do cara, certo?3 - Caso sim, basta fazer um select com inner join que resolve o problema.

Vamos por partes.1 - você tem duas tabelas, uma com o nome do cara e outra com o telefone, certo?Resposta: eu tenho um banco de dados chamado telefones.mdb e tenho duas tabelas, uma chamada grupos e outra setores e uma consulta chamada CONSULTA_GERAL2 - Na tabela de telefones você tem uma chave estrangeira da tabela do cara, certo?Resposta: a tabela de setores possui uma chave estrangeira que é o codigo do grupo e assim eu faço consulta_geral assim:SELECT [sETORES].[cdTelefone] AS cdTelefone, [sETORES].[nrRamal] AS nrRamal, [sETORES].[nrTelefone] AS nrTelefone, [sETORES].[nmSetor] AS nmSetor, [GRUPOS].[cdGrupo] AS cdGrupo, [GRUPOS].[nmGrupo] AS nmGrupo, [sETORES].[iaSeq] AS iaSeqFROM SETORES, GRUPOSWHERE Setores.cdGrupo = Grupos.cdGrupo;3 - Caso sim, basta fazer um select com inner join que resolve o problema.onde eu posso colocar esse inner join??????? no select do banco de dados, na própria .asp desculpa a ignorância carinha... é que eu não consigo entender o que esta sendo falado... o .asp ta funcionando certo, só que eu não sei mostrar na tela aquilo que eu disse la em cima...ter o grupodepois os titulose os registroster o grupodepois os titulose os registroster o grupodepois os titulose os registroseu achei que teria que ser um if la dentro do asp que não estou sabendo fazer... tipo, ou um do while, tipo assim, enquanto aqueles registros daquele grupo não acabar continua, e se acabar ja passa para o outro grupo... eu pensei que teria que fazer alguma coisa assim e não mexer no sql... agora se é realmente no sql, só por favor, me mostra colocando esse inner join na consulta para eu ver...Obrigado...
Bem acho que assim deve resolver.Vamos assumir q o nome dos campos das tabelas sejão os seguintes:Tabela: GruposCampos: Codigo, nomeTabela: SetoresCampos: codigo_grupo, telefones, ramais, etc....O Select que você deve fazer é assim:Select grupos.codigo, grupos.nome, setores.codigo_grupos, setores.etc......, from grupos inner join setores ON grupos.codigo = setores.codigo_gruposNeste caso o select retorna os valores das duas tabelas, desde que na tabela sertores no campo codigo_grupos existam valores que estão cadastrados na tabela grupos no campo codigo.Entendeu?
Eu entendi isso... o que eu não entendo é no que isso vai ajudar a fazer a tabela do jeito que eu to querendo...o código asp que não estou sabendo fazer direito...o banco de dados ta legal... eu vou até deixar do jeito que você me falou...mas você não acha que ta faltando algum do while dentro do outro do while que estou usando... você deu uma olhadinha em uma das respostas que consta toda a minha estrutura do arquivo asp? eu to achando que falta alguma coisa só que quando eu tento até chego perto do que quero mas não da tudo certo...por exemplo: eu tenho 5 registros aqui ta bom...ai aparece dois registros e o restante nao aparece, só aparece os tipos que é SETOR,RAMAL e DIRETOquer dizer... não esta 100%, ta faltando algo... e eu não sei o que é....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem depois de fazer o select você deve colocar a estrutura While not objetorecordset.eofobjetorecordset.movenextwend

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem depois de fazer o select você deve colocar a estrutura While not objetorecordset.eofobjetorecordset.movenextwend

beleza... e depois?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem depois de fazer o select você deve colocar a estrutura While not objetorecordset.eofobjetorecordset.movenextwend

beleza... e depois?
sem querer abusar já abusando né...valeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem depois de fazer o select você deve colocar a estrutura While not objetorecordset.eofobjetorecordset.movenextwend

beleza... e depois?
sem querer abusar já abusando né...valeu...
OBA OBA OBA OBA OBA OBA OBA OBA OBA OBA OBA OBA OBA OBA OBA OBA OBA OBA OBA OBA OBA OBA GENTE O MARCELO ME AJUDOU A RESOLVER O PROBLEMA, MAS TAMBEM GOSTARIA DE DIZER QUE OS QUE ME AJUDARAM DAQUI DO IMASTERs TEM O MEU MAIOR RESPEITO, MUITO OBRIGADO PELA DEDICAÇÃO, E PELA FORÇA... AGRADECIDO DE MAIS... ESTOU ENVIANDO O MEU CÓDIGO PARA ALGUEM QUE TIVER ALGUM PROBLEMA DO GENERO... (espero poder contar sempre com vocês) e lembre-se: PASSE PRA FRENTE................o BEM! (palavras de Marcelo Santos Ferreira)O PROBLEMA ERA AGRUPAR NA HORA EM QUE EU MOSTRO UMA TABELA E SEUS REGISTROS...PARA FICAR ASSIMDEPARTAMENTO: SERVIÇOSETOR RAMAL DIRETOTURISMO 11111 222222CULTURA 11111 222222OBRAS 11111 222222DEPARTAMENTO: CASASETOR RAMAL DIRETOANTONIO 11111 222222ALICE 11111 222222 <% server.scripttimeout=300 dim ConsTelefones dim contador Set ConsTelefones=Server.CreateObject("ADODB.Recordset") sSQL = "Select * FROM consulta_geral" sFiltro = " ORDER BY cdGrupo" ConsTelefones.Open sSQL & sFiltro,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("banco de dados\telefones.MDB") if ConsTelefones.EOF then %> <p><font size="4" face="Verdana, Arial, Helvetica, sans-serif"><strong>:: Telefones ::<br> <table width="100%" cellpadding="2" cellspacing="0"> <tr bgcolor="#006699"> <td bgcolor="#364B85"> <div align="left"><font color="#FFFFFF" size="3" face="Verdana, Arial, Helvetica, sans-serif"><strong>N</strong></font><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">ão existem telefones</font></div></td> </tr> </table> </strong></font><font size="1"><font face="Verdana, Arial, Helvetica, sans-serif"></p> <% else %> <p><font size="4" face="Verdana, Arial, Helvetica, sans-serif"><strong>:: Telefones ::</strong></font></p> <% contador=1 do while not ConsTelefones.EOF id_grupo1 = ConsTelefones("cdGrupo") if id_grupo1 <> id_grupo2 then %> <table width="100%" cellpadding="2" cellspacing="0"> <tr bgcolor="#364B85"> <td colspan="3"> <font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>DEPARTAMENTO: <%=ConsTelefones("nmGrupo")%></strong></font></td> </tr> <tr bgcolor="#6A95B5"> <td width="5%"> <div align="left"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>SETOR</b></font></div> </td> <td width="5%"> <div align="left"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>RAMAL</b></font></div> </td> <td width="5%"> <div align="left"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>DIRETO</b></font></div> </td> </tr> <% end if id_grupo2 = id_grupo1 if contador = 1 then contador=0 %> <tr bgcolor="#C7D7E2"> <td bgcolor="#E9EFF3" width="30%"> <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=Response.Write(ConsTelefones("nmSetor"))%></font></div> </td> <td bgcolor="#E9EFF3" width="30%"> <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=Response.Write(ConsTelefones("nrRamal"))%></font></div> </td> <td bgcolor="#E9EFF3" width="30%"> <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=Response.Write(ConsTelefones("nrTelefone"))%></font></div> </td> </tr> <% else contador=1 %> <tr bgcolor="#FFFFFF"> <td bgcolor="#FFFFFF" width="30%"> <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=Response.Write(ConsTelefones("nmSetor"))%></font></div> </td> <td bgcolor="#FFFFFF" width="30%"> <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=Response.Write(ConsTelefones("nrRamal"))%></font></div> </td> <td bgcolor="#FFFFFF" width="30%"> <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=Response.Write(ConsTelefones("nrTelefone"))%></font></div> </td> </tr> <% end if ConsTelefones.movenext loop end if ConsTelefones.close set ConsTelefones = nothing %> </table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.