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

problema en consulta con mysql

Estas en el tema de problema en consulta con mysql en el foro de Mysql en Foros del Web. Hola amigos, tengo un problema con una consulta y necesito su valiosa ayuda, resulta que tengo 2 tablas en mysql, las cuales las voy a ...
  #1 (permalink)  
Antiguo 07/11/2011, 21:33
Avatar de Carlitoscl  
Fecha de Ingreso: enero-2009
Ubicación: COLOMBIA
Mensajes: 60
Antigüedad: 15 años, 3 meses
Puntos: 0
problema en consulta con mysql

Hola amigos, tengo un problema con una consulta y necesito su valiosa ayuda, resulta que tengo 2 tablas en mysql, las cuales las voy a utilizar en un pequeño aplicativo de visual basic 6 para dar citas. La primera tabla contiene los siguientes datos:


tabla turnos
+----------+
8:00
8:15
8:30
8:45
9:00
9:15
9:30
9:45
10:00
+----------+

y la segunda:

tabla citas

+----------+---------------+-----------+---------------+---------+----------+----------+

| num_cita | fecha_cita | hora_cita | ide_pcte | ide_med | cod_cons |

+----------+---------------+------------+--------------+---------+----------+----------+

| 1 | 2011-11-07 | 8:00 | 18127989 | 1 | 1 |

| 2 | 2011-11-07 | 8:30 | 18129139 | 1 | 2 |

| 3 | 2011-11-07 | 9:00 | 69008499 | 1 | 1 |

+----------+----------------+------------+----------+---------+----------+----------+

Entonces la idea es que cuando entre cargue todos los turnos a un datagrid1 y a medida que voy asignando las citas estas se muestren en el datagrid2 y que los turnos asignados se vayan ocultando del datagrid1 que es donde se muestran los turnos disponibles, teniendo en cuenta la fecha tambien.

el resultado deberia ser:

+----------+
8:15
8:45
9:15
9:30
9:45
10:00
+----------+

El select que habia hecho me muestra los que ya se han asignado pero lo que quiero es lo contrario como en el resultado anterior.

"SELECT turno FROM turnos,citas WHERE turnos.turno<>citas.hora_cita AND citas.fecha_cita= '" + txt_fecha + "' "

Les agradezco si me pueden sacar de este lio.
  #2 (permalink)  
Antiguo 08/11/2011, 06:38
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: problema en consulta con mysql

"SELECT turno FROM turnos WHERE turno NOT IN (SELECT hora_cita FROM citas WHERE citas.fecha_cita= '" + txt_fecha + "' )"

hay mas...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 08/11/2011, 08:59
Avatar de Carlitoscl  
Fecha de Ingreso: enero-2009
Ubicación: COLOMBIA
Mensajes: 60
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: problema en consulta con mysql

Gracias amigo quimfv, funciono perfectamente, me salvaste de una.

Se le agradece.
  #4 (permalink)  
Antiguo 08/11/2011, 21:21
Avatar de Carlitoscl  
Fecha de Ingreso: enero-2009
Ubicación: COLOMBIA
Mensajes: 60
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: problema en consulta con mysql

Hola amigo quimfv, crees que sea posible hacer un select para mostrar en un solo datagrid de tal forma que en una columna muestre todos los turnos y en las demas columnas las citas que se han asignado y las que no se han asignado las muestre en blanco.

Mil gracias.
  #5 (permalink)  
Antiguo 09/11/2011, 01:47
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: problema en consulta con mysql

Código MySQL:
Ver original
  1. SELECT turnos.turno,count(*) as nCitas
  2. FROM turnos LEFT JON citas
  3.       ON turnos.turno=citas.hora_cita
  4. WHERE citas.fecha_cita= '" + txt_fecha + "'
  5. GROUP BY turnos.turno

Si
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 09/11/2011 a las 06:13
  #6 (permalink)  
Antiguo 09/11/2011, 08:02
Avatar de Carlitoscl  
Fecha de Ingreso: enero-2009
Ubicación: COLOMBIA
Mensajes: 60
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: problema en consulta con mysql

Gracias amigo, la consulta anterior funciona perfecto, pero la idea que tengo es esta.

+--------------------------+-----------+----------+--------------

|turnos| | num_cita | fecha_cita | hora_cita | ide_pcte

+--------------+----------+---------------+------------+--------

8:00 | 1 | 2011-11-07 | 8:00 | 18127989

8:15 |

8:30 | 2 | 2011-11-07 | 8:30 | 18129139

8:45 |

9:00 | 3 | 2011-11-07 | 9:00 | 69008499

9:15 |

9:30 |

9:45 |

10:00 |
+--------------+----------------+------------+---------------------

Le agradezco su ayuda.

Hasta pronto.
  #7 (permalink)  
Antiguo 10/11/2011, 02:11
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: problema en consulta con mysql

9:00 | 3 | 2011-11-07 | 9:00 | 69008499

Si hay tres citas que cita vas a mostrar?
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #8 (permalink)  
Antiguo 10/11/2011, 09:32
Avatar de Carlitoscl  
Fecha de Ingreso: enero-2009
Ubicación: COLOMBIA
Mensajes: 60
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: problema en consulta con mysql

La idea es que el datagrid debe quedar mas o menos como el calendario del microsoft oulook, de tal forma que cuando escoja una fila disponible esta me abra el form para asignar las citas, por ejemplo en el momento hay 3 citas asignadas, si voy a dar la cita de las 9:30 entonces me desplazo en el datagrid hasta esa fila y con doble clic abro el form de asignar la cita y al guardar los cambios se llena ese registro.

Gracias.

Última edición por Carlitoscl; 10/11/2011 a las 09:42
  #9 (permalink)  
Antiguo 11/11/2011, 01:50
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: problema en consulta con mysql

Lo que me explicas se soluciona por programación no por base de datos....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: select, sql, tabla
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 23:16.