Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] si alguna ves existio

Estas en el tema de si alguna ves existio en el foro de Mysql en Foros del Web. hola buen dia, tengo una duda con la siguiente consulta tengo esta tabla: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original CREATE TABLE tc_notificacion (   notcodigo ...
  #1 (permalink)  
Antiguo 28/12/2014, 10:50
 
Fecha de Ingreso: noviembre-2014
Mensajes: 6
Antigüedad: 9 años, 5 meses
Puntos: 0
si alguna ves existio

hola buen dia, tengo una duda con la siguiente consulta tengo esta tabla:

Código MySQL:
Ver original
  1. CREATE TABLE tc_notificacion
  2. (
  3.   notcodigo_usuario int  references  tb_usuario(uscodigo),
  4.   notmensaje varchar(500),
  5.   notfecha_emision date,
  6.   nottipo_notificacion  varchar(50),
  7.   notestado boolean
  8.  
  9. );
con estos registros:

Código SQL:
Ver original
  1. INSERT INTO tc_notificacion(notcodigo_usuario,notmensaje,notfecha_emision,nottipo_notificacion,notestado)VALUES(1,'EFECTIVO','2014-11-09','PRIVATE',1);
  2. INSERT INTO tc_notificacion(notcodigo_usuario,notmensaje,notfecha_emision,nottipo_notificacion,notestado)VALUES(1,'TERCERO','2014-12-28','PRIVATE',1);


mi consulta es de la siguiente manera:

Código SQL:
Ver original
  1. SELECT * FROM tc_notificacion WHERE notfecha_emision  BETWEEN '2014-11-09' AND '2014-12-28' AND
  2. notcodigo_usuario=1 AND notmensaje NOT IN ('EFECTIVO')
mi duda es que al hacer esto solo excluyo un registro y no es lo que deseo, mi idea es esta:

muestra los registros que se encuentren en el rango de fecha '2014-11-09' and '2014-12-28' del usuario = 1 y que nunca aya tenido en algun
momento notmensaje ='EFECTIVO' por lo tanto la consulta no veria mostrar nada.

no si si alguien me pueda dar una manito con esto se lo agradecería gracias saludos.

Última edición por gnzsoloyo; 28/12/2014 a las 11:11
  #2 (permalink)  
Antiguo 28/12/2014, 14:05
 
Fecha de Ingreso: junio-2013
Mensajes: 7
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: si alguna ves existio

Qué tal blatehero:

Bueno, la consulta muestra ese registro por que el campo notfecha_emision coincide con la primera condición, que es mostrar todos los registros que se encuentren entre las fechas '2014-11-09' y '2014-12-28'.

Saludos.
  #3 (permalink)  
Antiguo 28/12/2014, 14:14
 
Fecha de Ingreso: noviembre-2014
Mensajes: 6
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: si alguna ves existio

hola, claro es correcto por eso en mi consulta quiero una exclucion osea que si el
usuario = 1 en algun
momento tuvo notmensaje ='EFECTIVO' y si encuentra en ese rango de fecha por lo tanto la consulta no vería mostrar nada.
saludos
  #4 (permalink)  
Antiguo 28/12/2014, 15:17
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: si alguna ves existio

Creo que la consulta que quieres es esta:
Código MySQL:
Ver original
  1. SELECT notcodigo_usuario, notmensaje, notfecha_emision
  2.    FROM tc_notificacion WHERE notfecha_emision BETWEEN '2014-11-09' AND '2014-12-28'
  3.  AND notcodigo_usuario NOT IN
  4.      (SELECT notcodigo_usuario FROM tc_notificacion WHERE notmensaje ='EFECTIVO')
  #5 (permalink)  
Antiguo 28/12/2014, 15:27
 
Fecha de Ingreso: noviembre-2014
Mensajes: 6
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: si alguna ves existio

Gracias me sirvió el dato :D muy agradecido

Etiquetas: select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:11.