FoxPro/Visual FoxPro - Ayuda con SQL en Fox

 
Vista:

Ayuda con SQL en Fox

Publicado por Jorgito (82 intervenciones) el 08/05/2010 10:37:26
Hola: En las siguientes sentencias SQL ejecutadas en foxpro me ocurre lo siguiente:

SELECT TOP 1 * FROM cs3_ordrep WHERE fld_codrem=130 AND fld_codcam='S17' and (DTOS(fld_fecsum)+ALLTRIM(STR(fld_viaje)))>'20100507' ORDER BY fld_fecsum, fld_viaje INTO CURSOR prueba1

Se genera mas de 1 registro ? PORQUE¿


SELECT MIN(fld_viaje),* FROM cs3_ordrep WHERE fld_codrem=130 AND fld_codcam='S17' and fld_fecsum=date() ORDER BY fld_viaje, fld_posvia INTO CURSOR prueba1

El primer campo es MIN(fld_viaje) = 1 , pero el registro que genera tiene el viaje3 PORQUE¿

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con SQL en Fox

Publicado por es_binario (757 intervenciones) el 08/05/2010 22:44:20
Estoy usan Foxpro 9 sp2
Ejecuto tu primer codigo oviamente con datos mios pero a su par igual y me muestra unicamente la primer linea como se lo indicas en el top 1, la razon por la que tu veas mas de un registro podria radicar en que la clave de orden no sea te tipo id_unico

En el segundo caso no te muestra el 1 por que tu no le pides el 1 sino el minimo sobre id de viaja en base a un dato que podria ser 1

ahora yo te recomiendo que generes un viaje unico es decir del 1 al infinito ejemplo viaje 5300 pero que tenga un numero de viaje aparte que si puede repetirse digamos id_dia = 1

Creo que esa es la mejor opcion para tu modelo de datos que deseas hacer

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar