Saludos.

| ||||
GRacias por responder. Myakire te recuerdo que de donde se sacan los datos es una unica tabla, con lo cual Tabla2 a que referencia?. Deberia poner algo como : sql = "Select * From Consulta1 as tabla1, Consulta1 as tabla2 ..... inner join Tabla2 on Tabla1.CampoComun = Tabla2.CampoComun" O es una burrada?. Saludos.
__________________ Carlunchos |
| ||||
La tabla es + o - asi: tabla Consulta1 nombreCalles | nro_mz -------------------------- Varela | 1845 Lujambio | 2547 Alcorta | 1845 En cajaTexto1 ingreso Varela y en cajaTexto2 ingreso Alcorta, de esta manera, al recuperar estos valores necesito armar un sql. Con lo cual puedo suponer que Varela y Alcorta hacen esquina. Con esto, lo que necesito es mostrar por pantalla el numero de manzana que es comun a ambas calles. Se entiende mejor?.
__________________ Carlunchos |
| ||||
Cita: ¿me recuerdas?, a caray, ¿pues cuando me lo dijiste?, veamos ....
Iniciado por carlunchos GRacias por responder. Myakire te recuerdo que de donde se sacan los datos es una unica tabla, con lo cual Tabla2 a que referencia?. Cita: una consulta puede formarse por X tablas.Buenas, Sres como comparar 2 recordset hechos con 2 sql sobre una misma consulta, de manera que el registro del campo comun que ambos recordset contienen se muestren por pantalla? Ahora, yo si debo recordarte que si tienes 2 RecordSet que contienen todos los registros de una misma tabla, pues TODOS los campos son comunes (vamos, pues por que son la misma tabla), entonces como ya mencionaron, no tengo idea de que sea lo que pretendes. Si te explicas un poco más, seguro encontraremos algo que te sirva. Saludos |
| ||||
aaaaahhhh, acabo de leer que es lo que pretendes. Entonces haz esto: sql = "select * from Tabla1 inner join (select * from Tabla1) Tabla2 on Tabla1.CampoComun = Tabla2.CampoComun" Y listo. Vas a relacionar una tabla con si misma. Saludos |
| ||||
ahora creo haberte entendido yo tambien, tienes en una misma tabla, DIRECCIONES, entonces en un formulario el cliente pone: mi direccion esta ...; entre VARELA y ALCORTA... Sql ="Select * from tabla where nombredecalles = '"&request.form("dato1")&"' and num="&request.form("datonum")&"" Variable1 = rst("nombredecalle") Variable2..... Rst.close 'Vuelves a hacer la consulta pero ahora con el segundo dato.... Sql ="Select * from tabla where nombredecalles = '"&request.form("dato2")&"' and num="&request.form("datonum")&"" variables3 = bla,bla,.... bueno ahi tienes los datos extraidos...
__________________ "Lo importante es nunca dejar de hacerse preguntas" Albert Einstein |
| ||||
Cita: mmmm, pues algo así......, mira supongo que esto es exactamente la consulta que él necesita:
Iniciado por u_goldman ![]() ![]() SELECT a.Campo1, b.Campo1, a.Campo2 FROM (select * from tabla1 where Campo1 = "Varela") a inner join (select * from tabla1 where Campo1 = "Alcorta") b on a.campo2 = b.campo2 Esto es fácil en concepto. Mira master, él dijo: Cita: ¿cómo vex? En cajaTexto1 ingreso Varela y en cajaTexto2 ingreso Alcorta, de esta manera, al recuperar estos valores necesito armar un sql. Con lo cual puedo suponer que Varela y Alcorta hacen esquina. Con esto, lo que necesito es mostrar por pantalla el numero de manzana que es comun a ambas calles. PD. Es viernes ![]() |
| ||||
![]() Con lo cual puedo suponer que campo1 es la calle principal, campo2 la calle con la cual hace esquina? Pero una calle puede hacer esquina con muchas calles ![]() ![]() Quizas el modelo de DB no es optimo? Salu2,
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Campo1 es la calle y campo2 es la manzana ("el numero de manzana que es comun") Con esa consulta se obtienen todas las manzanas que, en este ejemplo, "Varela" y "Alcorta" tienen la misma manzana, una, dos, tres, las que tengan en común. Si es óptimo o no, pues ahí si ya no se con solo esta información. ya vámonos, ya casi es hora de salir, jejeje Viernes de quincena .....aaayy Dios mio |
| ||||
[OFF-TOPIC] ![]() ![]() ![]() ![]() ![]() Esta manana mi refrigerador tenia un pedazo de queso podrido y un six de Heineken ![]() Ninos, no imiten esto... [/OFF-TOPIC]
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Buenas Sres, no respondia por estar en modo prueba. Gracias por levantar la inquietud. Gracias a todos. Si bien no da error tampoco arroja registros, siendo que Varela y Alcorta hacen esquina (es un dato concreto). sql_calles = "SELECT a.NOM_CALLE, b.NOM_CALLE, a.nro_mz FROM (select * from Consulta1 where NOM_CALLE = '"&Calle1&"') a inner join (select * from Consulta1 where NOM_CALLE = '"&Calle2&"') b on a.nro_mz = b.nro_mz" rst10.Open sql_calles, conBaseSur,3,1,1 donde NOM_CALLE es el campo que contiene los nombres de calles, nro_mz es el numero de manzana, Consulta1 es de donde se sacan los datos y conBaseSur es la variable que contiene el string de conexion. Para aclarar un poco mas casi siempre se van a ingresar dos calles que hacen esquina, con lo cual lo que se espera es que se imprima el numero de manzana que tiene por laterales esas 2 calles. Alguna sugerencia mas?. Saludos
__________________ Carlunchos |
| ||||
Pues me tomé la molestia de crear la BD con una tabla con algunos registros que se asemejan a los que colocaste anteriormente y por supuesto que regresa registros que coinciden. Habrías de revisar qué es lo que se genera en la variable sql_calles y ejecutarlo directamente en la BD's |
| ||||
si el sql de Myakire es correcto entonces has un response.write al sql para ver que es lo que arroja... response.write sql_calles
__________________ "Lo importante es nunca dejar de hacerse preguntas" Albert Einstein |
| ||||
La impresion del sql es: SELECT a.NOM_CALLE, b.NOM_CALLE FROM (select * from Consulta1 where NOM_CALLE = 'VARELA') a inner join (select * from Consulta1 where NOM_CALLE = 'ALCORTA') b on a.nro_mz = b.nro_mz y al imprimir rst.RecordCount: 0 (cero) Seguramente le pifio en la posicion de los campos en el sql.
__________________ Carlunchos |
| ||||
mmm, no lo sé, si el record count te arroja cero eso ya es algo tambien, por lo general al no encontrar nada te arroja -1. Ahora lo que intentas rescatar es el numero de calle que se asocia a ambos calles, pero curiosamente no lo pides en el SQL, lo comparas pero no lo rescatas, no se si me explico... será eso?
__________________ "Lo importante es nunca dejar de hacerse preguntas" Albert Einstein |
| ||||
Univercity, lo que quiero rescatar es justamente el num de manzana que se asocia con ambas calles, por eso digo que no se como indicarlo en el sql. Como deberia reformular el sql para lograr eso?.
__________________ Carlunchos |
| ||||
y porque no pruebas asi... SELECT a.NOM_CALLE, a.nro_mz, b.NOM_CALLE FROM (select * from Consulta1 where NOM_CALLE = 'VARELA') a inner join (select * from Consulta1 where NOM_CALLE = 'ALCORTA') b on a.nro_mz = b.nro_mz
__________________ "Lo importante es nunca dejar de hacerse preguntas" Albert Einstein |
| ||||
solo por pura y simple curiocidad ...... ¿puedes colocar una imagen del contenido de la tabla en cuestion? o si no es mucha molestia, o mejor aún ¿puedes postearla? (puedes hacer una BD con solo esta tabla y mándarme la dirección por privado si no quieres mostrarla) Saludos |
| ||||
Myakire, estando ahora en el laburo no puedo hacerlo , seria esta tarde (hora de Brasil), pero si nos ayuda pongo nuevamente el esquema de la tabla en question: Tabla: Consulta1 NOM_CALLE | nro_mz | seccion ------------------------------- ALCORTA | 0236 | FLORIANOPOLIS ALCORTA | 0568 | FLORIANOPOLIS VARELA | 0236 | FLORIANOPOLIS VARELA | 1254 | FLORIANOPOLIS SAN JUAN | 0458 | FLORIANOPOLIS LARRETA | 0458 | FLORIANOPOLIS ETC ETC ETC Cuando ingreso las dos variables (Calle1=Varela y Calle2=Alcorta) envio estos datos para armar la consulta, el sql levantaria todas los nro_mz que tengan como calle Varela y todos los nro_mz que tengan como calle Alcorta, luego de alguna manera comparar esos nro_mz entre si y mostrar solo el nro_mz que tenga comunes ambas calles , en este caso seria nro_mz=0236. Parece un poco complicado y por eso hablaba en un principio de generar 2 recordset y luego compararlos entre si con lo cual habria que usar vectores y eso ya excede mis conocimientos. Alguna sugerencia Sres?.
__________________ Carlunchos |
| ||||
Pues como te he comentado, el query que te propuse funciona ok. Subi temporalmente en imagen la estructura, el contenido, la consulta (que copié de tu mensaje y solo cambie la tabla) y el resultado. Mira, no es necesadad a que uses una consulta para algo que podrías hacer con dos RecordSet y hagas múltiples llamadas a la BD registro a registro buscando coincidencias, pero sinceramente no creo que sea la mejor solución. Podrías en su lugar generar los dos arreglos que mencionas (GetRows) y hacer las búsquedas ya no en la BD's, sino en el IIS, ahora si que ya es a tu elección. El query funciona y ahí esta la prueba. Ahora, quizá si con todo decides intentarlo con arreglos, pues es tan sencillo como dos for's anidados o quizá el uso del filter, el cual te regresa un arreglo con las coincidencias encontradas de un string en otro arreglo. Bueno, ya la elección de solución es tuya, elige una, prueba y ya te ayudaremos con los detalles de la que escojas. Saludos |
| ||||
Myakire, estoy por tirar la toalla, he probado nuevamente con tu sugerencia y me tira RecordCount = 0 y me desorienta. Y vos decis que funciona, lo cual creo. Pero bueno, seguire probando. GRacias a todos por intervenir.
__________________ Carlunchos |
| ||||
Si quieres tambien pasamela a mí, creo que mi primera solucion tambien es valida y me gustaría demostrarlo.... [email protected] Slds.
__________________ "Lo importante es nunca dejar de hacerse preguntas" Albert Einstein |