Ver Mensaje Individual
  #9 (permalink)  
Antiguo 04/11/2008, 11:45
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: if select gran duda

Cita:
Iniciado por javislim Ver Mensaje
en el link que me pasas hala del case tradicional que yo conozco donde comparas con los posibles valores que puede tomar un campo, y yo quiero comparar mas de un campo dentro del mismo case porque el resultado final dependera de mas de un campo de la tabla como explique encima
Desde el punto de vista programático, no es un CASE tradicional, porque funciona como campo de SELECT
Un caso ejemplo bastante simple sería:

Código sql:
Ver original
  1. CREATE OR REPLACE VIEW CHOFERXDIA AS
  2. SELECT
  3.   CHOFER_ID,
  4.   DATE_FORMAT(FECHADESDE,'%d/%m/%Y') 'FECHA DESDE',
  5.   DATE_FORMAT(FECHAHASTA,'%d/%m/%Y') 'FECHA HASTA',
  6.   PATENTE,
  7.   (CASE DATE_FORMAT(FECHA,'%w')
  8.   WHEN 0 THEN 'DOMINGO'
  9.   WHEN 1 THEN 'LUNES'
  10.   WHEN 2 THEN 'MARTES'
  11.   WHEN 3 THEN 'MIERCOLES'
  12.   WHEN 4 THEN 'JUEVES'
  13.   WHEN 5 THEN 'VIERNES'
  14.   WHEN 6 THEN 'SABADO'
  15.   END)  'DIA DE SEMANA',
  16.   DATE_FORMAT(FECHA,'%d/%m/%Y') 'DIA',
  17.   DESDE 'DESDE HORA',
  18.   HASTA 'HASTA HORA',
  19.   INFRACCIONES ,
  20.   TIEMPOINFRAC 'T. DE INFRACCION',
  21.   MOTOPARADO 'MOTOR PARADO',
  22.   SINMOV 'TOTAL SIN MOVIMIENTO',
  23.   CONMOV 'TOTAL EN MOVIMIENTO'
  24. FROM ESTADCHOFERXDIA
  25. INNER JOIN CHOFER C USING(CHOFER_ID);
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)