Foros del Web » Programando para Internet » PHP »

Recorrer tabla para sacar la primera vez que se escribe un registro

Estas en el tema de Recorrer tabla para sacar la primera vez que se escribe un registro en el foro de PHP en Foros del Web. Buenas, me gustaría que alguien me orientara en este tema. Tengo una tabla en una base de datos mysql en la que almaceno unos registros ...
  #1 (permalink)  
Antiguo 02/11/2009, 10:11
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Recorrer tabla para sacar la primera vez que se escribe un registro

Buenas, me gustaría que alguien me orientara en este tema.
Tengo una tabla en una base de datos mysql en la que almaceno unos registros que pueden repetirse.
Lo que necesito ahora es un script que la recorra y devuelva la primera vez que se insertó el registro (con todos los datos de la fila correspondiente).
Sabemos cuando fue la primera vez porque la tabla tiene el campo fecha y hora.
Los campos de la tabla son:
id,importe,cpuntos,apuntos,total,tarjeta,usuario,f echa,hora,notas,op.
Pues bien, lo que quiero es que me devuelva la 'op' del primer registro de cada 'tarjeta'.

Muchas gracias.
__________________
Dando cabezados se aprende...
  #2 (permalink)  
Antiguo 02/11/2009, 10:13
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Recorrer tabla para sacar la primera vez que se escribe un registro

select min(fecha) .. aunque nose porque tienes separada la fecha y la hora .. podria ser un datetime mejor
  #3 (permalink)  
Antiguo 02/11/2009, 10:15
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Recorrer tabla para sacar la primera vez que se escribe un registro

Cita:
Iniciado por Hidek1 Ver Mensaje
select min(fecha) .. aunque nose porque tienes separada la fecha y la hora .. podria ser un datetime mejor
Buenas, gracias por responder.
Es un programa que hice para mi empresa, y como en todas las empresas, luego te van pidiendo que incluyas cosas, como la hora...

Ahora quieren saber cuando se insertó por primera vez... cuando eso podría estar solucionado con un campo booleano desde los comienzos de la aplicación.
__________________
Dando cabezados se aprende...
  #4 (permalink)  
Antiguo 02/11/2009, 10:19
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Recorrer tabla para sacar la primera vez que se escribe un registro

mmm
el problema de tenerlos separados es que si buscas el minimo por fecha y separada la hora te mostrara 2 diferentes...
te recomiendo si es que todavia puedes juntar esas 2 tablas en un datetime..
asi te sera mas facil todo..
aunque tambien la puedes sacar por id..

select datos from tabla where id = (select min(id) from tabla where producto_id = 50)
  #5 (permalink)  
Antiguo 02/11/2009, 10:28
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Recorrer tabla para sacar la primera vez que se escribe un registro

No, por id no se puede porque no es un id autonumérico ... esta gente me pidió que el id fuera el número de factura, por lo que no puedo utilizarlo para busquedas.
Podría utilizar el min(fecha), pero no se como utilizarlo, en este tema estoy pegadete.
fecha y hora no están en dos tablas, están en la misma y no puedo juntarlo porque lo quieren así...
__________________
Dando cabezados se aprende...
  #6 (permalink)  
Antiguo 02/11/2009, 10:30
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Recorrer tabla para sacar la primera vez que se escribe un registro

osea.. era columna ...
min() lo que hace es buscar el registro minimo entre los que ayan

select min(hora) from tabla where fecha = (select min(fecha) from tabla);

eso deberia servirte!

saludos!
  #7 (permalink)  
Antiguo 02/11/2009, 10:32
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Recorrer tabla para sacar la primera vez que se escribe un registro

Cita:
Iniciado por Hidek1 Ver Mensaje
osea.. era columna ...
min() lo que hace es buscar el registro minimo entre los que ayan

select min(hora) from tabla where fecha = (select min(fecha) from tabla);

eso deberia servirte!

saludos!
Esto está de lujo, pero ahora me hace falta para cada número de tarjeta ('tarjeta'). Voy a hacer pruebas mientras.
Muchas gracias.
__________________
Dando cabezados se aprende...
  #8 (permalink)  
Antiguo 02/11/2009, 10:34
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Recorrer tabla para sacar la primera vez que se escribe un registro

"SELECT * FROM `facturas` WHERE fecha=(select min(fecha) from facturas) group by tarjeta"

voy a comprobar pero creo que esta sentencia me devuelve lo que quiero.
__________________
Dando cabezados se aprende...
  #9 (permalink)  
Antiguo 02/11/2009, 10:36
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Recorrer tabla para sacar la primera vez que se escribe un registro

suerte... comenta resultados!
  #10 (permalink)  
Antiguo 02/11/2009, 10:38
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Recorrer tabla para sacar la primera vez que se escribe un registro

No, esto me saca solo para la mínima fecha, pero yo necesito para la mímina fecha de cada tarjeta. Sigo investigando.
__________________
Dando cabezados se aprende...
  #11 (permalink)  
Antiguo 02/11/2009, 10:40
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Recorrer tabla para sacar la primera vez que se escribe un registro

hace una condicion ... "SELECT * FROM `facturas` WHERE fecha=(select min(fecha) from facturas) AND targeta = $targeta group by tarjeta";

y eso lo manipulas en php
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 08:32.