FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
||||
|
||||
select
Buenas Tardes:
De casualidad alguno sabe cual es la instruccion para seleccionar el ultimo registro que se encuentra en una tabla por ejemplo en una tabla producto. Gracias, es que he buscado esa instruccion y no se, para ser mas especificos que me muestre el codigo del ultimo cliente que cree. |
#3
|
||||
|
||||
Gracias por la respuesta,
pero al intentar esta instruccion no me funciono, lo que pasa es que estoy manejando esta instruccion en un dataset, no se si hay varie in poco la instruccion. |
#4
|
||||
|
||||
La instrucción que te indica Federico quizá no sirva en tu versión de MySql. Las subconsultas en MySql aparecieron hasta la versión 4 y cachito creo.
De ser así podrías intentar algo como:
y simplemente tomar el primer y único registro devuelto. Por cierto, un título como "Seleccionar el último registro" hubiera sido mucho más adecuado para el hilo. // Saludos Última edición por roman fecha: 17-06-2005 a las 21:25:20. |
#5
|
||||
|
||||
ese limit 1 a que se refiere, lo que pasa es que me sale un error diciendo que no recomoce limit 1.
|
#6
|
||||
|
||||
Cita:
// Saludos |
#7
|
||||
|
||||
Según tengo entendido, los motores ANSI92 no garantizan el orden de los registros. Por eso si queremos tener un orden estricto, tenemos que tener un campo por donde ordenarlos lógicamente. Para obtener un último registro de este tipo:
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#8
|
||||
|
||||
Gracias me funciono de maravilla
|
#9
|
||||
|
||||
¿Y se puede saber qué pasó entre
Cita:
Cita:
// Saludos |
#10
|
||||
|
||||
Es mas facil asi:
IBDataSet.last y segurito te muestra el ultimo registro |
#11
|
||||
|
||||
Cita:
Esto puede ser muy costoso. Muchos servidores SQL van mandando los registros al cliente conforme se van solicitando. Una operación como Last obliga al servidor a mandar todos los registros. Si se trata de miles de registros, esta simple operación puede demorar batante. // Saludos |
#12
|
||||
|
||||
Lo que pasa es que me funciono como lo dijo Federico, no me arrojo ningun error
|
#13
|
||||
|
||||
Tienes razon en algo, lo probe como federico me dijo, pero me di cuenta que esto solo me sirve cuando el codigo del producto es autoincremental, pero si no lo es no me sirve porque no me muestra cual fue el ultimo registro que cree, hay alguna forma que esto me lo muestre y que me sirva para las sentencias SQL que se maneja para delphi en el Dataset.
|
#14
|
||||
|
||||
Reitero mis palabras:
Cita:
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#15
|
||||
|
||||
Y por que no creas una bandera y que esta sea autoincremental y le aplicas el codigo que te dijo Fede pero buscas es el valor maximo de la bandera:
Código:
SELECT *FROM TABLAWHERE ID = (SELECT MAX(bandera) FROM TABLA) Tienes que crear un generator y un trigger para que la bandera sea autoincremental y se dispare antes de la inserccion es decir un Before insert Espero sirva de algo chao |
#16
|
|||
|
|||
Cita:
Cuando realizo un Locate, sobre un componente TTable, el servidor me envía todos los registros de la tabla al cliente, no?¨ Saludos. Gracias. |
#17
|
||||
|
||||
La verdad, no lo sé. Supongo que sí pero no lo aseguro.
Por otra parte, en mi opinión este tema es algo que no debiera preocupar. Muchos recomiendan que las consultas deben de por sí acotarse de manera que no regresen demasiados registros. Ha quedado, yo creo que por razones históricas, una idea de querer ver un DBGrid con miles y miles de líneas y desplazarse por él hasta encontrar el registro deseado, cuando resulta más eficiente dar al usuario métodos para establecer criterios de búsqueda adecuados acotando así la cantidad de registros devueltos a una cantidad manejable desde el cliente. // Saludos |
|
|
|