Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Urgente Ayuda, por fa, (https://www.clubdelphi.com/foros/showthread.php?t=22795)

emartinez 27-06-2005 23:01:47

join o algo así.
 
:confused: 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 :confused:

ContraVeneno 27-06-2005 23:33:41

Pues no se si sea facial o no :D , 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

Alexander 28-06-2005 21:33:27

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.

jachguate 29-06-2005 00:38:05

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.

;)


La franja horaria es GMT +2. Ahora son las 22:09:48.

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