Foros del Web » Programando para Internet » ASP Clásico »

no se como hacer consulta sql

Estas en el tema de no se como hacer consulta sql en el foro de ASP Clásico en Foros del Web. hola a todos, imaginaros que tengo una tabla con estos registros: id - nivel1 - nivel2 ---------------------- 1 - Felipe - Felipe 2 - Felipe ...
  #1 (permalink)  
Antiguo 31/08/2004, 11:10
Avatar de DkarnDuuk  
Fecha de Ingreso: marzo-2004
Mensajes: 626
Antigüedad: 20 años, 2 meses
Puntos: 2
Mensaje no se como hacer consulta sql

hola a todos,

imaginaros que tengo una tabla con estos registros:

id - nivel1 - nivel2
----------------------
1 - Felipe - Felipe
2 - Felipe - Felipe
3 - Alvaro - Ernesto
4 - Alvaro - Maria
5 - Marta - Marta
6 - Marta - Maria
7 - Maria - Maria

ahora quiero hacer en una pagina web un menu sacando estos registros con una sentencia sql, de forma que me quede como sigue:

Felipe <--nivel1

Alvaro <--nivel1
------Ernesto <--nivel2
------Maria <--nivel2

Marta <--nivel1
------Maria <--nivel2

Maria <--nivel1

es decir:
de nivel1 me muestra los no repetidos (esto esta bien) y dentro de cada nivel1 los campos nivel2 no repetidos. (si nivel1 y nivel2 son iguales, solo mostrara nivel1).

tengo hecho el siguiente codigo:

sql="select distinct (nivel1) from tabla ORDER BY nivel1"
set rs=Conn.execute (sql)

do while not rs.eof
%>
<tr>
<td><%=rs("nivel1")%></td>
</tr>
<%
sql2="select nivel1, nivel2 from tabla where nivel1='"& rs("nivel1")&"'"
set rs2=Conn.execute (sql2)
do while not rs2.eof
if rs2("nivel2")<>rs("nivel1") then
%>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<%=rs2("ni vel2")%></td>
</tr>
<%
end if
rs2.movenext
loop
rs.movenext
loop

no se como decirle en la segunda sentencia sql que me muestre solo los campos no repetidos nivel2 pertenecientes a cada campo nivel1

me podeis ayudar? gracias
  #2 (permalink)  
Antiguo 31/08/2004, 11:20
Avatar de DkarnDuuk  
Fecha de Ingreso: marzo-2004
Mensajes: 626
Antigüedad: 20 años, 2 meses
Puntos: 2
problema resuelto

hola otra vez,

ya he resuelto el problema. de todas formas pongo el codigo por si alguien es lo necesita o si hay alguien q lo haga de otra forma y quiere ponerlo pos eso.

este es mi codigo:

sql="select distinct (nivel1) from tabla ORDER BY nivel1"
set rs=Conn.execute (sql)

%>
<table border="0" cellpadding="0" cellspacing="0">
<%
do while not rs.eof
%>
<tr>
<td><%=rs("nivel1")%></td>
</tr>
<%
sql2="select distinct nivel2 from (select nivel1, nivel2 from tabla where nivel1='"& rs("nivel1")&"')"
set rs2=Conn.execute (sql2)
do while not rs2.eof
if rs2("nivel2")<>rs("nivel1") then
%>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<%=rs2("ni vel2")%></td>
</tr>
<%
end if
rs2.movenext
loop
rs.movenext
loop

hasta la proxima!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:37.