![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Select a 2 tablas
Hola amigos.
Tengo el siguiente problema, en una tabla tengo registros de todas las llamadas recibidas (A) y en otra tabla tengo los registros de las llamadas que fueron atendidas por alguna persona (B). Esto es que muchas llamadas no fueron atendidas por alguien porque estaban todos ocupados. Lo que tengo que hacer es armar una consulta que me traiga todas las llamadas (A) y los datos de quines la atendieron de (B) que como dije muchas de (A) no tienen un registro en (B). Hay un campo que es comun en ambas tablas (CallReference)y es univoco y seria este el que las relaciona. Actualmente lo que hago es extraer de (A) los registros del rango de fechas que solicita el cliente y una vez obtenido, hago el open y lo recorro de a un registro buscando el CallReference de (A) en (B), si lo encuentra tomo los datros y sino quedan en blanco. Se puede hacer todo esto con un solo Select? porque me tarda mucho tiempo. Gracias. |
#2
|
|||
|
|||
Bueno al parecer tu debilidad es el lenguaje SQL...
Cita:
|
#3
|
|||
|
|||
Gracias CLOAYZA, y si tienes razon, me falta mucho con SQL.
Un abrazo. |
#4
|
|||
|
|||
UUUUPPPS!!!!!
Arme esta consulta pero no me respeta lo que hay en la clausula where:
|
#5
|
||||
|
||||
Puede que hayas agrupado mal las comparaciones en los parentesis y por eso no te de el resultado deseado.
Según lo que has puesto si elimino los parentesis que encierran una única comparación me queda algo así:
entonces te mostraría todas las llamadas de tipo "I" o todas las llamadas de tipo "O" cuyo resultado esté en 10,18 y 1004 y el teléfono no esté vacio, tienen que cumplirse las tres condiciones. ¿es eso lo que realmente quieres?, si es así no le veo nada raro. Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#6
|
|||
|
|||
Gracias amigos por responder.
La macana la cometi yo, me falto agregar un parentesis que agrupe todo exceptuando la fecha. Quedaria asi:
Asi funciona en forma correcta. Mil gracias. |
#7
|
|||
|
|||
Otra vez con problemas.
Ahora me encuentro con esta otra condicion que no se como resolver. Es sobre el mismo query:
En el on (a.callrefid = b.callrefid) es donde tengo el problema. Si a.callrefid1 <> ' ' and a.callrefid1 <> '*' then on (a.callrefid1 = b.callrefid) else on (a.callrefid = b.callrefid) Tengo que poder poner esa condicion. Es posible? |
#8
|
||||
|
||||
No entiendo que quieres conseguir,
si lo que quieres es eliminar los registros de a donde no estén vacios o sean un * añade esas condiciones al WHERE. Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#9
|
|||
|
|||
Hay dos campos callrefid y callrefid1.
callrefid1 generalmente viene en blanco o con un '*', si no es asi quiere decir que hay que tomar ese dato para la condicion del ON En el on (a.callrefid = b.callrefid) es donde tengo el problema. Si a.callrefid1 <> ' ' and a.callrefid1 <> '*' then on (a.callrefid1 = b.callrefid) -- uso callrefid1 else on (a.callrefid = b.callrefid) -- uso callrefid |
#10
|
||||
|
||||
Cita:
Un saludo P.D.: Muestra tú SQL más elegante en el futuro, no realices la SQL en una sola línea, si pones los nombre en minúscula pues todos en minúscula tanto en el SELECT como en el WHERE, es incomodo a la hora de leerla.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
#11
|
|||
|
|||
Gracias OLBEUP por el aporte y los concejos.
Abrazo |
#12
|
|||
|
|||
Lamentablemente no me esta funcionando.
Aclaro que LOGPOS no tiene un campo CALLREFID1 solo CALLREFID Lo puse asi, no se si esta correcto:
No me da error pero me trae montones de registros repetidos. Última edición por jars fecha: 13-11-2012 a las 17:53:01. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda con select en dos tablas | n03l | Firebird e Interbase | 4 | 01-09-2012 20:06:47 |
Hacer un select a 2 tablas de 2 gdb´s. | AMINOA2R | Firebird e Interbase | 6 | 25-01-2008 15:45:43 |
Select con dos tablas | enecumene | MySQL | 2 | 22-02-2007 20:13:22 |
Select en varias tablas | sitrico | Firebird e Interbase | 2 | 29-12-2006 00:09:57 |
5 select de 5 tablas diferentes en un select solo | sakuragi | SQL | 6 | 15-06-2005 18:57:06 |
![]() |
|