Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Funciones de cadena en Interbase

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Funciones de cadena en Interbase Responder citando

Buenas Tardes

Que funciones de cadena se pueden aplicar a Interbase en una consulta SQL.

Necesito saber como puedo realizar una consulta en SQL de tal forma que
TABLA 1
campo1
aa1010
aa1221
aa3275
campo2
10/04/2007
11/02/2008
10/03/2008

TABLA 2
campo1
1010
3275
1221
campo2
LIMA
BOGOTA
CARACAS

buscar todos los que sean aa1010 que esten en la tabla 2 como 1010

nose si es claro

saludos
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mensaje    Asunto: Responder citando

Esta pregunta hubiera estado mejor en el foro de bases de datos, pero da igual. Para hace esa consulta necesitas una campo que esté en ambas tablas y que en ambas tenga el mismo valor ya que de otra forma no podrías filtrar los resultados. No obstante, lo que te haría falta sería algo así:
Código:
SELECT A.Campo1, A.Campo2 FROM Tabla1 A, Tabla2 B WHERE A.Campo1 = 'aa1010' AND B.Campo1 = '1010' AND A.CampoN = B.CampoN

Ese CampoN es el ha de ser común a ambos.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Buenos Días

Gracias Angel, pero el campo comun en las dos tablas es campo1 por tal razon es que necesito una funcion de cadena para extraer los 4 ultimos digitos al campo1 de la tabla 1 para poder realizar dicha comparacion

Saludos
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mensaje    Asunto: Responder citando

¡Ah! Pues es fácil, al menos con tablas Paradox o Firebird:
Código:
SELECT A.Campo1, A.Campo2 FROM Tabla1 A, Tabla2 B WHERE SUBSTRING(A.Campo1 FROM 3 FOR 4) = B.Campo1

Esta es fija: coge cuatro caracteres a partir de la posición 3 y los compara con el valor del Campo1 en la Tabla2.
Código:
SELECT A.CAmpo1, A.Campo2 FROM Tabla1 A, Tabla2 B WHERE SUBSTRING(A.Campo1 FROM " + FormatFloat("0", Tabla1->FieldByName("Campo1")->Size - 3) + " FOR 4 = B.Campo2

Este otro (no lo he probado, pero debería funcionar) coge los cuatro últimos caracteres del Campo1 de la Tabla1, independientemente de cuales sean.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.