Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/10/2010, 05:50
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: 17 años
Puntos: 2658
Respuesta: Duda con Select

Tal vez con algo así:
Código MySQL:
Ver original
  1.   T.id ID,
  2.   T.IdCliente `Numero Cliente`,
  3.   B.Nombre `Nombre Cliente`,
  4.   T.FechaTrabajos `Fecha Trabajo`
  5. FROM Trabajos as T LEFT JOIN baseCarga B ON T.IdCliente = B.IdCliente
  6. WHERE T.FechaTrabajo = DATE_SUB(curdate(), INTERVAL IF(DAYOFWEEK(curdate()) = 2, 2, 1) DAY)
  7. ORDER BY T.FechaTrabajo;

DAYOFWEEK(date) devuelve un número entre 1 y 7 para cada día de la semana, comenzando la misma en día DOMINGO. Entonces si el día es 2, es lunes y en ese caso el IF() devuelve 2 y si no 1.
DATE_SUB es la función correcta de sustracción de un período a una fecha determinada. Si no te gusta, puedes hacer la resta directa.

LEFT OUTER JOIN está usado por compatibilidad en MySQL, pero si lo vas a usar ten en cuenta que según el manual de referencia (Sintaxis de JOIN):
Cita:
La sintaxis { OJ ... LEFT OUTER JOIN ...} mostrada en la lista precedente existe sólo por compatibilidad con ODBC.
O sea: Si no vas a usar ODBC, entonces no es necesaria esa sintaxis.
Lee el manual.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)