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

NO MOSTRAR datos en un select si estos ya fueron registrados en otra tabla,

Estas en el tema de NO MOSTRAR datos en un select si estos ya fueron registrados en otra tabla, en el foro de Mysql en Foros del Web. Hola quisiera me ayudaran a realizar una consulta que me pueda ocultar algunas opciones de un SELECT, les explico, en ese select cargo los datos ...
  #1 (permalink)  
Antiguo 15/11/2012, 16:13
 
Fecha de Ingreso: junio-2007
Ubicación: en una casa
Mensajes: 42
Antigüedad: 17 años, 5 meses
Puntos: 0
NO MOSTRAR datos en un select si estos ya fueron registrados en otra tabla,

Hola quisiera me ayudaran a realizar una consulta que me pueda ocultar algunas opciones de un SELECT, les explico, en ese select cargo los datos de una tabla, entonces al asignar ese registro (solo en ID) a otra tabla (relaciono los datos), quisiera que se ocultara ese registro que ya asigne, no se me explico, es decir:

en mi select tengo 3 registros de mi tabla a mostrar (periodos), solo muestra un dato de mi tabla periodo , por ejemplo el campo: DescripciondePeriodo:

opcion 1: del 1 al 15 de Noviembre su ID_periodo es 1
opcion 2: del 16 al 30 de Noviembre su ID_periodo es 2
opcion 3: del 1 al 15 de Diciembre su ID_periodo es 3

Entonces como lo voy a relacionar con otra tabla (empleados), se debe guardar solo el Id de ambas tablas en una tabla Detalles:

cve_detalle
fk_cve_empleado
fk_cve_periodo

Si escogi la opcion 1, al cargar nuevamente mi pagina, esa opcion ya no deberia aparecer y quedaria de esta manera:

opcion 1: del 16 al 30 de Noviembre
opcion 2: del 1 al 15 de Diciembre

y si asigne la opcion 1 entonces mi tabla detalle quedaria asi con todos los empleados y el select como el parrafo anterior:

cve_detalle - fk_cve_empledo - fk_cve_periodo
1 - 1 - 1
2 - 2 - 1
3 - 3 - 1
...n - ..n - 1

La consulta que hacia antes era:
Código MySQL:
Ver original
  1. SELECT * FROM periodos
Entonces al querer ocultar en mi SELECT todos aquellos periodos que ya se encuentran en la tabla Detalles, se tendria que hacer una consulta a la tabla detalles y si se encuentra un id (cve_periodo), pues que ya no se muestre en el SELECT.

aqui mi consulta:
Código MySQL:
Ver original
  1. FROM periodos LEFT JOIN detalles ON periodos.cve_periodo <> detalles.fk_cve_periodo
espero me puedan ayudar, antes mil gracias..., para esto aqui muestro

Última edición por gnzsoloyo; 15/11/2012 a las 17:11
  #2 (permalink)  
Antiguo 15/11/2012, 17:12
Avatar de 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: NO MOSTRAR datos en un select si estos ya fueron registrados en otra tabla

Código MySQL:
Ver original
  1. FROM periodos P LEFT JOIN detalles D ON P.cve_periodo = D.fk_cve_periodo
  2. WHERE D.fk_cve_periodo IS NULL
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 16/11/2012, 10:34
 
Fecha de Ingreso: junio-2007
Ubicación: en una casa
Mensajes: 42
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: NO MOSTRAR datos en un select si estos ya fueron registrados en otra tabla

infinitamente gracias... duda y problema SOLUCIONADO....

Etiquetas: join, left, ocultar+opciones
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 17:34.