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

Como puedo este select?

Estas en el tema de Como puedo este select? en el foro de ASP Clásico en Foros del Web. Estoy tratando de realizar un menu desplegable con los datos mi db, pero no logro mostrar los datos que quiero. Tengo una tabla material: IDmaterial ...
  #1 (permalink)  
Antiguo 04/01/2006, 05:39
Avatar de Jonatatan  
Fecha de Ingreso: octubre-2004
Ubicación: Italia, Gubbio (PG)
Mensajes: 147
Antigüedad: 20 años, 6 meses
Puntos: 0
Pregunta Como puedo este select?

Estoy tratando de realizar un menu desplegable con los datos mi db, pero no logro mostrar los datos que quiero.

Tengo una tabla material:
IDmaterial | Nombre
1 | Ubaldo y Francisco
2 | El Arte de la Mineria
3 | Guia de Uso Free hand

Y tengo una tabla ejemplar
idejemplar | idmaterial | codigo | condicion
1 | 1 | UMI.0001.1 | 1
2 | 1 | UMI.0001.2 | 2
3 | 1 | UMI.0001.3 | 1
4 | 2 | UMI.0002.1 | 3
5 | 3 | UMI.0003.1 | 1
6 | 3 | UMI.0003.2 | 1

TENGO QUE MOSTRAR EL NOMBRE DEL MATERIAL Y LOS EJEMPLARES QUE SOLO CUMPLAN CON
CONDICION = 1
PERO SOLO DEBE APARECER UN EJEMPLAR POR CADA MATERIAL QUE CUMPLA LA CONDICION(puede ser el primero que encuentre, es indiferente)

el menu deberia mostrarme:
Ubaldo y Francisco (ò UMI.0001.1 ò tambien UMI.0001.3, pero solo uno)
Guia de Uso Free hand (ò UMI.0003.1 ò tambien UMI.0003.2, pero solo uno)


pero en vez me muestra:
Ubaldo y Francisco (UMI.0001.1)
Ubaldo y Francisco (UMI.0001.3)
Guia de Uso Free hand (UMI.0003.1)
Guia de Uso Free hand (UMI.0003.2)

no hallo la forma de filtrar el idmaterial de la tabla ejemplar, utilizo el distinct para filtrar solo un idmaterial por cada ejemplar, funciona si en el query meto solo la tabla ejemplar, cuando meto la tabla material, me sucede lo q me sucede, y si quito el inner join me muestra todo 3 veces aun peor..

aqui les paso el codigo que tngo, si alguien me da alguna idea con la cual pueda solucionar este problem se lo agradeceria....

Código:
<%sql = "SELECT DISTINCT(ESEMPLARE.IDMATERIALE), ESEMPLARE.CODICE as codma, MATERIALE.TITOLO as noma FROM MATERIALE INNER JOIN ESEMPLARE ON MATERIALE.IDMATERIALE = ESEMPLARE.IDMATERIALE WHERE (ESEMPLARE.CONDIZIONE)=1"
set menu= oconn.execute(sql)
%>
<td align=middle>
<select name=materialepre style="FONT-SIZE: small; WIDTH: 193px; FONT-FAMILY: Verdana">
<option value=0 selected> < - - - - - - - - - > </option>
<%while not menu.eof%>
codm=menu("codma")
<option value="<%=Response.write(codm)%>"><%=Response.Write(menu("noma"))%></option>
<%menu.movenext
wend%>
</select></td>
Ciao y gracias de antemano....
__________________

Solo mi fido del tempo, le parole ed i fatti per prendere le decisioni più importanti della mia vita. // Solo confio en el tiempo, las palabras y los hechos para tomar las decisiones mas importantes de mi vida.
Jonatan Lavado
  #2 (permalink)  
Antiguo 04/01/2006, 06:57
Avatar de Jefe_Negro  
Fecha de Ingreso: diciembre-2005
Mensajes: 50
Antigüedad: 19 años, 5 meses
Puntos: 0
Prueba con esto

Código:
SELECT
    MATERIALE.IDMATERIALE, 
    MATERIALE.TITOLO,
    FIRST(ESEMPLARE.CODICE), 
FROM 
  MATERIALE 
     INNER JOIN ESEMPLARE ON MATERIALE.IDMATERIALE = ESEMPLARE.IDMATERIALE 
GROUP BY
    MATERIALE.IDMATERIALE, 
    MATERIALE.TITOLO,
HAVING 
   ESEMPLARE.CONDIZIONE=1
__________________
Un Saludo
Jefe Negro.


PDF desde ASP ó VB6 Gratis: http://www.oPDF.tk
  #3 (permalink)  
Antiguo 04/01/2006, 08:08
Avatar de Jonatatan  
Fecha de Ingreso: octubre-2004
Ubicación: Italia, Gubbio (PG)
Mensajes: 147
Antigüedad: 20 años, 6 meses
Puntos: 0
Gracias, me funciono a la perfeccion, solo q modifique un poquito lo ultimo: thank's
Código:
SELECT MATERIALE.TITOLO as noma, materiale.idmateriale, first(ESEMPLARE.CODICE) as idma 
FROM MATERIALE INNER JOIN ESEMPLARE ON MATERIALE.IDMATERIALE = ESEMPLARE.IDMATERIALE  
where esemplare.condizione=1 group by materiale.idmateriale, materiale.titolo
__________________

Solo mi fido del tempo, le parole ed i fatti per prendere le decisioni più importanti della mia vita. // Solo confio en el tiempo, las palabras y los hechos para tomar las decisiones mas importantes de mi vida.
Jonatan Lavado
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 05:55.