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 27-06-2005
emartinez emartinez is offline
Miembro
 
Registrado: abr 2005
Posts: 12
Poder: 0
emartinez Va por buen camino
Angry join o algo así.

Urgente Ayuda, por fa, Este es mi query


Select c.cvedeleg, c.nomdeleg, d.programa
from cdelegacion c , programap d
where d.anio = 2001 and d.cvedeleg <= 33 and d.cveespecie = 6 and d.cveproducto = 6 and c.cvedeleg = d.cvedeleg ;


el detalle esta cuando cambia el campo cveespecie.


el resultado es un listado de delegaciones y su cantidad, pero cuando cambia el tipo de especie solo me muestra ciertas delegaciones y necesito que muestre todas aunque sin datos, ej.....

si la especie es = 4 el resultado es:

Aguascalieste
Baja California Sur
Baja California Norte
Campeche
Coahuila
.
.
.
.
.
.
.
Zacatecas


y si el tipo de especie es = 6 el resultado es

Bajacalifornia Norte
Coahuila
.
.
.
.
.
.
.
.
.
.
Yucatan


y necesito que aparescan todos los estados tenga o no la especie desde Aguascalientes hasta Zacatecas

Puede ser que sea facial pero estoy iniciando en delphi me podrian ayudar
necesito entregar el reporte ya.....

gracias

Última edición por emartinez fecha: 27-06-2005 a las 23:21:31.
Responder Con Cita
  #2  
Antiguo 27-06-2005
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 no se si sea facial o no , pero podrías probar hacer lo siguiente...
Código SQL [-]
Select c.cvedeleg, c.nomdeleg, d.programa 
from cdelegacion c , programap d 
where d.anio = 2001 and d.cvedeleg <= 33 and d.cveespecie = 6 and d.cveproducto = 6 and c.cvedeleg *= d.cvedeleg
solo modifique c.cvedeleg *= d.cvedeleg

¿en que campo tienes guardado el nombre de los estados?

Por otra parte, consulta la guía de estilo del foro
y tambien sería bueno que utilizas las Etiquetas como la [sql] que utilize, si deseas aquí hay más información sobre las etiquetas que puedes usar
__________________

Responder Con Cita
  #3  
Antiguo 28-06-2005
Avatar de Alexander
Alexander Alexander is offline
Miembro
 
Registrado: may 2004
Posts: 235
Poder: 21
Alexander Va por buen camino
Post Inner join

Creo si no estoy equivocado sería mejor utilizar un INNER JOIN O UN LEFT JOIN según te conventa.

Espero te sirva de algo.
__________________
Cielos azules
Responder Con Cita
  #4  
Antiguo 29-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Lo que te hace falta es un outer join. Dado que no indicas cual es el motor, te sugiero que intentes usar la sintaxis del estándar, a ver si es soportada. Tu consulta querdaría algo parecido a:

Código SQL [-]
Select c.cvedeleg, c.nomdeleg, d.programa
from cdelegacion c left outer join programap d on c.cvedeleg = d.cvedeleg
where d.cvedeleg is null 
  or (d.anio = 2001 
      and d.cvedeleg <= 33 
      and d.cveespecie = 6 
      and d.cveproducto = 6);

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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


La franja horaria es GMT +2. Ahora son las 21:26:32.


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