ayuda con instrucion sql (SOLVED)

ayuda con instrucion sql (SOLVED)

Postby carlos vargas » Sat Sep 24, 2011 7:46 pm

estimados, apelo a su sabiduria :-) ya que estoy teniendo problemas para armar una sentencia select en sql.
la idea es simple:
1.-una tabla con los feriados o dias festivos, los hay del tipo nacional o del tipo local (por ciudad).
en caso de ser nacional, no se pon un valor en num_ciud, solamnte que sea local se da valor a num_ciud
indicando con el numero que ciudad afecta
+-fecha --------+-motivo-------------------+-nacional-+-num_ciud---+
| 01/01/2011 | inicio de año | True | 0 |
+-----------------+----------------------------+------------+----------------+
| 25/12/2011 | nacimiento de cristo | True | 0 |
+-----------------+----------------------------+------------+----------------+
| 10/08/2011 | santo domingo guzman| False | 10 |
+-----------------+----------------------------+------------+----------------+

2.-una tabla con las ciudades.
+-num_ciud----+-nombre------------------+
| 1 | carazo |
+-----------------+-----------------------------+
| 10 | managua |
+-----------------+-----------------------------+

3.- trato de traerme los una lista con los feriados nacionales y los feriados locales con la ciudad que afectan
Code: Select all  Expand view  RUN

select a.fecha, a.motivo, a.nacional, b.nombre as ciudad
from feriados as a, ciudades as b
where a.num_ciud = b.num_ciud  
 


pero no se trae nada, ya que en el caso de que sea un feriado nacional no hay un valor en num_ciud
he intentado esta variable
Code: Select all  Expand view  RUN

select a.fecha, a.motivo, a.nacional, b.nombre as ciudad
from feriados as a, ciudades as b
where a.num_ciud = b.num_ciud  or empty( a.num_ciud)
 


se trae los datos, pero asignando una ciudad al azar a los feriados nacionales, cuando deberia entregr una cadena vacia.

OTRO INTENTO
Code: Select all  Expand view  RUN

select a.fecha,
       a.motivo,
       a.nacional,
       iif( empty( a.num_ciud ) ,'', b.nombre ) as ciudad  
from feriados as a, ciudades as b
where a.num_ciud = b.num_ciud
 

please agradesco cualquier ayuda con esto.
Last edited by carlos vargas on Sat Sep 24, 2011 8:36 pm, edited 1 time in total.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: ayuda con instrucion sql

Postby carlos vargas » Sat Sep 24, 2011 8:26 pm

solucionado con
Code: Select all  Expand view  RUN

SELECT A.FECHA, A.MOTIVO, A.NACIONAL, B.NOMBRE AS CIUDAD  FROM FERIADOS AS A LEFT OUTER JOIN CIUDADES AS B ON A.NUM_CIUD = B.NUM_CIUD
 
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: ayuda con instrucion sql (SOLVED)

Postby Francisco Horta » Sun Sep 25, 2011 2:01 am

Carlos,

Asi lo hago yo,

cConsulta := "SELECT COUNT(*), tipohabitacion.nombre, tipohabitacion.id" + ;
" FROM llegadas" + ;
" LEFT OUTER JOIN habitaciones ON llegadas.idhabitacion = habitaciones.id" + ;
" LEFT OUTER JOIN tipohabitacion ON habitaciones.idtipohab = tipohabitacion.id" + ;
" WHERE fechallegada <= " + DTOS(dFec3) + ;
" AND fechasalida > " + DTOS(dFec3) + ;
" AND tipohabitacion.id = " + STR(oTipoH:IdTipo) + ;
" GROUP BY tipohabitacion.id"
oQry2 := oApp:oServer:Query(cConsulta)

salu2
paco
____________________
Paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: ayuda con instrucion sql (SOLVED)

Postby carlos vargas » Sun Sep 25, 2011 6:51 pm

gracias francisco.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 74 guests