Saludos a todos:
Necesito hacer una consulta a dos tablas pertenecientes a una misma base de datos.
Tengo que hacer una conexión doble o pongo la sentencia SQL de consulta directamente.
Gracias
| |||
se puede hacer una conexión a 2 tablas al mismo tiempo dentro de una misma DB Saludos a todos: Necesito hacer una consulta a dos tablas pertenecientes a una misma base de datos. Tengo que hacer una conexión doble o pongo la sentencia SQL de consulta directamente. Gracias |
| |||
¿Por que tienes que hacer una consulta a dos tablas a la vez?¿Es que guardan relacion entre ellas?¿O quiere que se cumplan datos de una y otra? Si guardan relacion entre ellas, ¿por que no haces un inner join? Explica un poco más please para poderte ayudar
__________________ El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente. |
| |||
Debes tener una sola conexion por base de datos. Dentro de esa conexion puedes establecer tantos objetos recordset como quieras, incluyendo en cada instruccion SQL referencias a una tabla o a las tablas que quieras mediante inner join. Ejemplo: Set objConnection=Server.CreateObject("ADODB.Connectio n") objConnection.Open "nombrebasedatosenODBC" fraseSQL="SELECT ID_TEMA FROM SESIONES WHERE(ID_SESION='" & misesion & "');" Set rssesion = Server.CreateObject("ADODB.Recordset") Set rssesion=objConnection.Execute(fraseSQL) 'Tambien puedes hacer sobre la misma conexion otro select con inner join que asu vez no incluya registros de otro select (Not in (SELECT .... fraseSQL="SELECT PREGUNTAS_SESION.*, PREGUNTAS.* " fraseSQL=fraseSQL & "FROM PREGUNTAS_SESION INNER JOIN PREGUNTAS ON PREGUNTAS_SESION.COD_PREG = PREGUNTAS.COD_PREG " fraseSQL=fraseSQL & "WHERE (((PREGUNTAS_SESION.USUARIO_PREG)<>" & usuario & ") AND ((PREGUNTAS_SESION.ID_SESION)='" & misesion & "') AND ((PREGUNTAS_SESION.ESTADO_PREG)=1) AND " fraseSQL=fraseSQL & "((PREGUNTAS_SESION.COD_PREG) Not In (SELECT COD_PREGUNTA FROM RECHAZOS_ACIERTOS WHERE(RECHAZOS_ACIERTOS.ID_SESION='" & misesion & "' " fraseSQL=fraseSQL & "AND COD_USUARIO=" & usuario & " AND RECHAZOS_ACIERTOS.TERMINADA=1))));" Set rspreg = Server.CreateObject("ADODB.Recordset") Set rspreg=objConnection.Execute(fraseSQL) Salu2. |