Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-09-2007
hebam hebam is offline
Registrado
 
Registrado: sep 2007
Posts: 2
Poder: 0
hebam Va por buen camino
Question Problemas con consulta left outer join

hola a todos, tengo un problema con una cobsulta a dos tablas de mi base de datos, tengo la siguiente consulta:

Código SQL [-]
SELECT COUNT(*) AS total, AVG(telefonico.total) AS media, sucursal.sucursal, sucursal.nombre
FROM telefonico INNER JOIN
sucursal ON telefonico.sucursal = sucursal.nombre
WHERE (telefonico.region = '1') AND (telefonico.fcaptura BETWEEN CONVERT(DATETIME, '2007-08-01 00:00:00', 102) AND CONVERT(DATETIME, 
'2007-08-31 00:00:00', 102))
GROUP BY telefonico.sucursal, sucursal.sucursal, sucursal.nombre
ORDER BY sucursal.sucursal

esta consulta me saca el promedio y la cantidad de registros de la tabla telefonico, la tabla sucursal la utilizo para poder sacar el numero de sucursal y ordernarlo por el el numero de la sucursal (sucursal.sucursal) el prblema es que en region 1 tengo 87 sucursales, y en telefonico (evalua sucursales) unicamente tengo capturadas 55 sucursales, al hacer la consulta unicamente me muestra la 55 sucursales evaluadas en telefonico,lo quiero que me aparezcan las 87 sucursales aunque no esten evaluadas, y lo intente con RIGHT OUTER JOIN y LEFT OUTER JOIN o FULL OUTER JOIN y no me los muestra, espero que me puedan ayudar.
Responder Con Cita
  #2  
Antiguo 06-09-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Pues va a estar medio difícil, porque en la cláusula "Where" comparas campos de la tabla "telefónico" y el problema es que si utilizas "right outer join" (que es como se solucionaría tu problema) los campos de la tabla "teléfonico" serían nulos. Tendrías que modificar la cláusula "where" para incluir los nulos.
__________________


Última edición por ContraVeneno fecha: 06-09-2007 a las 00:43:28.
Responder Con Cita
  #3  
Antiguo 06-09-2007
hebam hebam is offline
Registrado
 
Registrado: sep 2007
Posts: 2
Poder: 0
hebam Va por buen camino
ya intente lo que me dices le di un group by ademas de intentarlo con un right outer join y sigue sina arrojarme los resultados que quiero hay sucursales que no se evaluaron entonces no importa que sean nulos los resultados, la idea eque me aparescan las sucursales evaluadas y no evaluadas, o tienes alguna idea de como lo puedo hacer.

gracias
Responder Con Cita
  #4  
Antiguo 06-09-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Por eso mismo... si las sucursales no se evaluaron, todos los campos de "telefónico" serían nulos, pero como en la cláusula "where" estas evaluando que "telefonico.region = 1" pues no te muestra los nulos, por lo tanto, no te muestra los que no se evaluaron. Tienes que utilizar un "rigth outer join" y modificar la cláusula "where" para que también considere los nulos.
__________________

Responder Con Cita
  #5  
Antiguo 06-09-2007
pcicom pcicom is offline
Miembro
 
Registrado: may 2003
Ubicación: MONTERREY MEXICO
Posts: 253
Poder: 21
pcicom Va por buen camino
Prueba Lo Siguiente:


Código SQL [-]
SELECT telefonico.sucursal,sucursal.nombre,COUNT(*) AS total, AVG(telefonico.total) AS media 
FROM telefonico 
INNER JOIN sucursal ON telefonico.sucursal = sucursal.nombre
WHERE (telefonico.region = '1') AND (telefonico.fcaptura BETWEEN CONVERT(DATETIME, '2007-08-01 00:00:00', 102) AND CONVERT(DATETIME, 
'2007-08-31 00:00:00', 102))
ORDER BY 1,2
__________________
Poco ha de saber el que no pregunta.. Yo por eso soy un pregunton
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con un left outer join en FB2 TJose Firebird e Interbase 12 19-02-2007 14:11:38
Consulta sobre left / Right outer join ContraVeneno MS SQL Server 2 06-07-2006 15:18:12
Duplicados con LEFT OUTER JOIN Cabanyaler MS SQL Server 11 17-11-2005 08:46:23
LEFT OUTER JOIN e INNER JOIN Juntos alcides SQL 3 08-07-2005 18:06:27
Left Outer Join en MSSQL Viet SQL 5 26-08-2003 21:24:25


La franja horaria es GMT +2. Ahora son las 05:47:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi