Ver Mensaje Individual
  #14  
Antiguo 24-08-2014
Yugo Yugo is offline
Miembro
NULL
 
Registrado: jul 2014
Posts: 25
Reputación: 0
Yugo Va por buen camino
Qué tal Impadron!! muchas gracias por tu comentario. Después de analizar un poco tu código, hay algo que no entiendo muy bien:

Básicamente, para el primer par de campos de la TABLA2, esa subconsulta que expones devuelve por un lado el campo ID1 de la TABLA2 del registro actual (con la comparación),

Código:
ID ='"Query1->FieldByName("id")->Text"'
por otro lado devuelve el campo RE1 de la TABLA2 del registro actual (con la misma comparación anterior) y finalmente, devuelve el campo Nombre de la TABLA1 que coincide tanto con ID1 como con RE1 y dicha columna la renombra como PAR_ID1RE1... No sé si estoy en lo cierto o no.

Código:
"(SELECT nombre FROM tabla1 WHERE ID1 IN (SELECT ID1 FROM table2 WHERE ID = '"Query1->FieldByName("id")->Text"') AND RE1 IN (SELECT RE1 FROM table2 WHERE ID = '"Query1->FieldByName("id")->Text"') ORDER BY nombre ASC) AS PAR_ID1RE1, "
Esa parte de la subconsulta SELECT entiendo que nos sirve para determinar la operación sobre el registro actual y no sobre otro cualquiera ¿cierto? Si es así, esa comparación de datos debería realizarse entre números enteros porque el campo ID de la TABLA2 es de tipo INTEGER. Si estoy equivocado te agradecería que pudieses sacarme de la duda.

Por otro lado, he probado tu código pero al compilar me salta un error E2121. Function call missing ) y por más que le doy vueltas al código no encuentro dónde puede faltar ese paréntesis de cierre que se supone que falta.

En cuanto al asunto de pasarte el código SQL de creación de las tablas, debo decir que las creé directamente desde el Database Desktop y rellené con datos desde él. Pero no te preocupes, trato de crear el código y pasártelo, ¿te parece bien? Bueno me pongo a ello compañero. Hasta luego y muchísimas gracias de nuevo.

PD: Ecfisa compañero, he estado también trabajando sobre el código que expusistes para ajustarlo a lo que necesito pero aún no doy con la tecla. Puedo encontrar las posibles coincidencias sobre el primer par ID1-RE1, así que traté de hacerlo usando un bucle de 13 repeticiones (para los 13 pares de campos de un registro), pero nada, de momento no tengo resultado. Seguiré experimentando para tratar de dar con la solución con vuestra ayuda. Saludos!!
Responder Con Cita