Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   todos los campos y algo mas SQL (https://www.clubdelphi.com/foros/showthread.php?t=58681)

mjjj 28-07-2008 19:02:40

todos los campos y algo mas SQL
 
Una pregunta....

Como quedaria un codigo SQL para una consulta que me devuelva todos los campos de cierta tablas, y la cantidad de registros de esa consulta...

se puede hacer eso... por ahora lo que hago es hacer 2 consultas.

Código SQL [-]
select * from tabla
 
select count(ot) from tabla

Gracias...

marcoszorrilla 28-07-2008 19:05:41

Código SQL [-]
select * from tabla
Si utilizas la propiedad RecordCount de la Consulta puedes obtener lo que quieres con el código anterior.

Un Saludo.

RolphyReyes 28-07-2008 20:57:35

Saludos.

No especificas el motor pero hice esta prueba en FB 1.5 y devuelve lo que andas buscando.

Código SQL [-]
SELECT (SELECT COUNT(*) FROM TABLA) CANTIDAD, A.*
FROM TABLA A

MaMu 28-07-2008 23:11:56

SELECT (SELECT COUNT(*) FROM TABLA) CANTIDAD, A.*
FROM TABLA A

No sería "AS CANTIDAD" ?

RolphyReyes 29-07-2008 13:42:54

Cita:

Empezado por MaMu (Mensaje 303984)
SELECT (SELECT COUNT(*) FROM TABLA) CANTIDAD, A.*
FROM TABLA A

No sería "AS CANTIDAD" ?

El "AS" no es necesario, esta por compatibilidad!!!

enecumene 29-07-2008 14:19:02

Hola, la solución de MarcosZorrilla es más que suficiente, con recordcount se resuelve.

Saludos.

mjjj 29-07-2008 14:51:24

gracias, de las 2 maneras funciona... saludos

RolphyReyes 29-07-2008 15:15:32

Cita:

Empezado por enecumene (Mensaje 304085)
Hola, la solución de MarcosZorrilla es más que suficiente, con recordcount se resuelve.

Saludos.

Tienes razón, pero a mí entender es menos eficiente, es como el uso del Locate que recorre de manera secuencial en el DataSet. Porque (reitero a mí entender) entiendo que el componente DataSet debe de hacer un Fetch All para contar los registros y eso lo hace del lado del cliente, si la PC del mismo no es "decente" ya sabes que pasaria.

Yo para preguntar si tiene algún registro utilizo:
Código Delphi [-]
If DataSet.IsEmpty then ..

Y si llegase a necesitar contar los registros (por lo regular no lo hago) hago un Count(*).


La franja horaria es GMT +2. Ahora son las 19:02:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi