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

Problemas Con Inner Join Dentro De <select>

Estas en el tema de Problemas Con Inner Join Dentro De <select> en el foro de ASP Clásico en Foros del Web. Buenas amig@s, que tal todo? Espero que bien. Os cuento, tengo una pag para dar de Alta productos en la Web (administración), y mi problema ...
  #1 (permalink)  
Antiguo 16/01/2006, 09:33
 
Fecha de Ingreso: julio-2005
Mensajes: 137
Antigüedad: 19 años, 10 meses
Puntos: 0
Problemas Con Inner Join Dentro De <select>

Buenas amig@s, que tal todo? Espero que bien.

Os cuento, tengo una pag para dar de Alta productos en la Web (administración), y mi problema es que necesito que según la Familia inicial que seleccionen, me muestre en el siguiente Select , las subcategorias de este y si procede la tercera categoria, no se si me he explicado bien.

Para esto tengo las siguientes tablas (acces)

CATEGORIAS:
ID : (autonum)*clave principal
CATEGORIA1 : (Descripción de las diferentes categorias iniciales).

SUBCATEGORIA:
ID:autonumerico
CATEGORIA2:(Descripción de las diferentes Subcategorias).
ID_CATEGORIA1:(Se guarda el ID de la categoria1 de la tabla CATEGORIAS).


CODIGO ASP (PARTE REFERENTE A LO COMENTADO)

<font color="#595959" face="Arial" size="3" > &nbsp;Categoria Principal
<%' * PROCESO PARA SABER LAS CATEGORIAS QUE HAY EN LA BD.- CATEGORIA PRINCIPAL *
dim conexionBdn2,rsusuan2,sqlusuan2,cate1,cate2,cate3
Set ConexionBdn2=Server.CreateObject("ADODB.Connection ")
SQLn2 = "SELECT DISTINCT categoria1,id FROM categorias "
conexionBdn2.Open"DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& server.MapPath("LOQUESEA/XXXX.mdb"),3,1
set RSusuan2=ConexionBdn2.execute(SQLn2)
%>
<select size="1" name="cate1" >
<%
While Not RSusuan2.EOF
p=Request.Form("categoria1")

%>
<option value="<%=rsusuan2.fields("categoria1")%>" selected="selected">
<%=rsusuan2.fields("categoria1")%></option>

<%
RSusuan2.Movenext
Wend
%>
</select>
<br><br>
<%'*************************** PROCESO PARA SABER LAS CATEGORIAS QUE HAY EN LA BD.- SEGUNDA CATEGORIA%>


<font color="#595959" face="Arial" size="3" > &nbsp;Segunda Categoria
<select size="1" name="cate2">
<%

SQL ="SELECT a.id,a.categoria1, b.id_categoria1,b.categoria2 FROM categorias a INNER JOIN subcategoria b ON b.id_categoria1=a.id "
set RSsegunda=ConexionBdn2.execute(SQL)

While Not RSsegunda.EOF

'If RSusuan2.fields("id")=rssegunda.fields("id_categor ia1") then%>[/COLOR]
<option value="<%=rssegunda.fields("categoria2")%>" selected="selected"><%=rssegunda.fields("categoria 2")%></option>
<%'end if

RSsegunda.Movenext
Wend%>

</select>
*************************************************
NOTA: El último IF esta comentado ya que si no reporta error de inconsistencia de datos.
En principio dicho IF tendria que mostrarme los productos de la subcategoria correspondientes a la categoria inicial seleccionada.


Espero que me puedan ayudar

Muchas Gracias
  #2 (permalink)  
Antiguo 16/01/2006, 15:21
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Busca en el foro sobre combos ligados, o listas enlazadas. Ya hay muchos ejemplos que seguro pudieran servirte.

Saludos
  #3 (permalink)  
Antiguo 16/01/2006, 19:23
Avatar de tomchat  
Fecha de Ingreso: septiembre-2005
Mensajes: 231
Antigüedad: 19 años, 8 meses
Puntos: 0
Intenta esto.

SELECT tabla1.campo1, tabla2.campo1, FROM tabla1 INNER JOIN tabla2 ON tabla1.campo1 = tabla2.campo1 WHERE tu condición

Donde tus campos tabla1.campo1 y tabla2.campo1 tienes los mismos valores, eje codigo o ids relacionadas.
  #4 (permalink)  
Antiguo 17/01/2006, 07:46
 
Fecha de Ingreso: julio-2005
Mensajes: 137
Antigüedad: 19 años, 10 meses
Puntos: 0
Gracias por las respuestas, pero o no encuentro nada que me "ilustre", o no lo entiendo.

Tomchat: la linea de SELECT tabla1.campo1, tabla2.campo1, FROM tabla1 INNER JOIN tabla2 ON tabla1.campo1 = tabla2.campo1 WHERE tu condición

No entiendo la parte del Where, entiendo que la condición ya la ejecuta cuando realizamos el Inner Join, no?, entonces no entiendo a que te refieres con lo de la condicion.

El tema es que según la opción seleccionada en el primer <select>, tiene que mostrar en el segundo las subcategorias perteneciestes a la opción del Primero (y eso creo que se realiza con el Inner Join, pero claro, como siempre a MI no me funciona).

Gracias por la ayuda
  #5 (permalink)  
Antiguo 17/01/2006, 08:30
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Nop, el inner join no te sirve para mostrar en el segundo las subcategorias perteneciestes a la opción del Primero, es una forma de realizar la relación entre dos tablas.

Tu necesitas combos enlazados, listas enlazadas, combos ligados, select múltiples, combos dependientes, etc. Con cualquiera de esas formas se les han llamado en los post anteriores.

Antes que nada debes de contestarte una pregunta: ¿quieres que por cada selección se haga un llamado al servidor?, por si si la respuesta es SI, entonces lo harás con ASP, si es NO, pues entonces lo harás con ASP y JavaScript.

Ligas con ejemplos:
http://www.forosdelweb.com/showpost....21&postcount=6
http://www.yxscripts.com/cs/chainedselects.html
http://www.forosdelweb.com/showthrea...t=dependientes
http://tuna.upv.es/tunas/test2.asp
http://asptutor.com/foros/topic.asp?...orum_Title=ASP
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:08.