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

Filtrar dato

Estas en el tema de Filtrar dato en el foro de SQL Server en Foros del Web. Buenas tarde, tengo problmas con una tabla que tiene entre sus campos: codigo y fecha, necesito que la consulta SQL me muestre solamente el codigo ...
  #1 (permalink)  
Antiguo 21/04/2009, 14:32
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
Filtrar dato

Buenas tarde, tengo problmas con una tabla que tiene entre sus campos: codigo y fecha, necesito que la consulta SQL me muestre solamente el codigo que corresponda a la fecha mas antigua.... es decir, si la tabla tiene los datos:

codigo...............................fecha
a.....................................1/3/09
a.....................................5/4/09
b.....................................10/2/09
b.....................................12/3/09
c.....................................1/4/09

Me muestre:
codigo...............................fecha
a.....................................1/3/09
b.....................................10/2/09
c.....................................1/4/09

Gracias por su ayuda.

Jose Julian
  #2 (permalink)  
Antiguo 21/04/2009, 14:55
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 6 meses
Puntos: 220
Respuesta: Filtrar dato

Prueba de la Siguiente Manera

Select Codigo,Min(Fecha) From TuTabla Group By Codigo
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 21/04/2009, 14:55
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 4 meses
Puntos: 39
Respuesta: Filtrar dato

Código sql:
Ver original
  1. SELECT codigo,MIN(fecha) FROM tutabla GROUP BY codigo
Creo que te hice la tarea de la uni.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #4 (permalink)  
Antiguo 10/05/2009, 20:14
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Filtrar dato

La verdad les agradezco su ayuda, pero ya inenté hacerlo de esa manera y no me funcionó, mi SQL es mucho mas complicado (no es una tarea de la uni... es de mi trabajo), mi SQL tiene aproximadamente 15 LEFT JOIN y el GROUP BY contiene todos los campos porque manejo fórmulas, no si esta es la razón por la cual no me trabaja correctamente la función MAX().

Les agradezco sus comentarios.

JOSE JULIAN
  #5 (permalink)  
Antiguo 11/05/2009, 07:42
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 4 meses
Puntos: 39
Respuesta: Filtrar dato

Muéstranos tu query, lo que te muestra ahora, y el resultado que esperas.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #6 (permalink)  
Antiguo 11/05/2009, 18:12
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Filtrar dato

Mi query es:

select BB=d.numero, Fecha_Compra=max(d.fec), Nit=d.nit, Consignante=c.nombres, Fecha_Llegada=e.fecha_hora_evento, Ubicacion_Actual=bo.descripcion, Codigo_Int=d.codigo,Referencia=v.descripcion,
Color=v.des_color, Placa=v.placa, Serie=v.serie,Modelo=v.ano,Soat=v.fecha_obligatori o, Dias_de_Inventario=case when r.stock>0 then convert(int,(Datediff(day, e.fecha_hora_evento, getdate()))) else 0 end, Notas=v.explicacion, Costo=convert(money,d.valor_unitario)

from documentos_lin d
left join v_referencias_sto_hoy r on r.codigo=d.codigo and r.bodega=8
join v_vh_vehiculos v on d.codigo=v.codigo
left join vh_eventos_vehiculos e on d.codigo=e.codigo and e.evento='15'
left join referencias_fis f on d.codigo=f.codigo and f.bodega=d.bodega
left join bodegas_ubicacion bo on bo.bodega=f.bodega and f.ubicacion=bo.ubicacion
left join vh_eventos_vehiculos s on d.codigo=s.codigo and s.evento='75'
left join terceros c on d.nit=c.nit

where d.tipo='BB' and v.plan_venta=2 and r.stock=1 and s.fecha_hora_evento is null

group by
d.fec, d.numero, e.fecha_hora_evento, bo.descripcion, d.codigo,v.descripcion,v.des_color, d.nit, c.nombres, v.placa, v.serie,v.ano,v.fecha_obligatorio, e.fecha_hora_evento,v.explicacion, d.valor_unitario, r.stock


El problema es que la función max no hace que se visualice solo el registro con la fecha mayor, el query muestra todos los registros.

Gracias por su ayuda.

JOSE JULIAN CANO
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 00:40.