Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/09/2009, 12:40
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 17 años
Puntos: 300
Respuesta: seleccionar datos de la BD

update tabla inner join (SELECT ID FROM tabla WHERE Tipo ='C0' AND Libre = 0 LIMIT 1)t1 ON t1.id = tabla.id SET tabla.Libre = 1

Esta consulta lo hará de una tacada un par de cosas, aunque faltaría la parte del envío.
Yo lo haría con dos consultas:
primero lo busco
1) SELECT ID FROM tabla WHERE Tipo ='C0' AND Libre = 0 LIMIT 1

guardo ese ID en una variable y luego hago dos consultas más, una de actualización del dato y otra de inserción en la nueva tabla. Piensa que con LIMIT 1 te coge sólo uno, el primero que esté almacenado en la base que cumpla con los patrones de búsqueda.