Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-07-2006
Roilo Roilo is offline
Miembro
 
Registrado: nov 2005
Ubicación: Mayarí, Cuba
Posts: 143
Poder: 19
Roilo Va por buen camino
Question Contar Registros

Un abraso al FORO.
He realizado una consulta para listar todas las Altas y la Bajas de mi empresa.
esto es parte del resultado:
Código Delphi [-]
Chapa  Dpto Mov
39081   233  ALT
37069   265  ALT
40091   266  BAJ
25625   233  ALT
El problema es que no sé como contar las ALT y las BAJ que hay en esa lista. En realidad soy bien nuevo haciendo consultas SQL y les agradecería que me ayudaran en esto y si pueden recomendarme un buen manual de SQL les agradecería el doble.
GRACIAS de antemano.
Responder Con Cita
  #2  
Antiguo 18-07-2006
afarenas afarenas is offline
Miembro
 
Registrado: sep 2003
Ubicación: bogota
Posts: 46
Poder: 0
afarenas Va por buen camino
Consulta

una formar es
select count(*) from tabla
where mov='ALT'

Y para las bajas
select count(*) from tabla
where mov='BAJ'

Ahora si lo quieres hacer en un solo sql este tambien te podria servir

SELECT mov,COUNT(*) FROM tabla
GROUP BY mov

auminedo que MOV solo tenga valor 'ALT' Y 'BAJ'
Responder Con Cita
  #3  
Antiguo 18-07-2006
userlazarus userlazarus is offline
Miembro
 
Registrado: abr 2006
Posts: 55
Poder: 18
userlazarus Va por buen camino
Hola
Mira a ver si esto te pudiera servir.
Responder Con Cita
  #4  
Antiguo 18-07-2006
Roilo Roilo is offline
Miembro
 
Registrado: nov 2005
Ubicación: Mayarí, Cuba
Posts: 143
Poder: 19
Roilo Va por buen camino
Perdon!!!

Se me quedabe lo más importante.
Resulta que quiero saber cómo puedo guardar el resultado en el caption de una etiqueta. Ejp: Se han efectuado 5 Altas y 12 Bajas.
De paso aprendo a extraer valores de un query.(espero me entiendan).
userlazarus tu link está genial (increiblemente no lo conocía).GRACIAS
Responder Con Cita
  #5  
Antiguo 18-07-2006
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Thumbs up

Mira si esto te vale:


Código SQL [-]
SELECT TOP 1
(SELECT COUNT(*) FROM Tabla1 WHERE Mov = 'Alt') AS ALTAS,
(SELECT COUNT(*) FROM Tabla1 WHERE Mov = 'Baj') AS BAJAS
FROM Tabla1





Un saludo
Responder Con Cita
  #6  
Antiguo 18-07-2006
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Thumbs up

Mira si esto te vale:

Código SQL [-]
SELECT TOP 1    (SELECT COUNT(*) FROM Tabla1 WHERE Mov = 'Alt') AS ALTAS,    (SELECT COUNT(*) FROM Tabla1 WHERE Mov = 'Baj') AS BAJAS  FROM Tabla1
Un saludos.
Responder Con Cita
  #7  
Antiguo 18-07-2006
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 21
yusnerqui Va por buen camino
Bueno creo que con lo que te han contestado ya tienes lo de la consulta.

Para asignar el valor de un campo a un label te recomiendo buscar el la ayuda por "FieldByName", de seguro encontrarás tu mismo la respuesta.

Saludos
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
  #8  
Antiguo 18-07-2006
Roilo Roilo is offline
Miembro
 
Registrado: nov 2005
Ubicación: Mayarí, Cuba
Posts: 143
Poder: 19
Roilo Va por buen camino
Angry Nada!!!

Ok. Le hallo mucha lógica al código que me envía olbeup y estoy ansioso por ver el resultado, pero en lo que hice me da un error en la línea 2. Les pediría que le echaran un ojo:
Código SQL [-]
SELECT TOP1 
(SELECT COUNT(*) FROM macambio.dbf WHERE cambio = 'ALT') AS ALTAS,
(SELECT COUNT(*) FROM macambio.dbf WHERE cambio = 'BAJD') AS BAJAS
FROM macambio.dbf;
Ya revisé el databasename del Query que uso y verifiqué bien el nombre de la tabla que utilizo y el campo que contiene la información. Ya eso está revisado.
GRACIAS a todos por participar.

Última edición por Roilo fecha: 18-07-2006 a las 21:42:09.
Responder Con Cita
  #9  
Antiguo 18-07-2006
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
Roi9lo, que estas usando como motor de base de datos.

DBase, SQL server, ORacle, Paradox.


Quita el TOP 1 de la sentencia SQL que te ha dado el compañero.


y prueba.



las sentencias pueden ser estar, aunque hay algunas cuando ya son más especificas, que variand e un motor a otro de base de datos.
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
  #10  
Antiguo 18-07-2006
Roilo Roilo is offline
Miembro
 
Registrado: nov 2005
Ubicación: Mayarí, Cuba
Posts: 143
Poder: 19
Roilo Va por buen camino
Smile Fin del problema.

EXACTO. El motor que uso es el BDE.
Se ha Resuelto sin el top1. Supongo que su función era mostrar una solo fila en el DBGrid que muestra el resultado. Sólo quedaría aclarar en el foro cómo se logra eso cuando se usa el BDE.
Ahora, en cuanto a mostrar el resultado en una etiqueta aquí va el código:
Código Delphi [-]
procedure TForm1.Query1AfterOpen(DataSet: TDataSet);
begin
 label1.caption:='Se han efectuado '+query1.fieldbyname('altas').asstring+' altas y '+query1.fieldbyname('bajas').asstring+' bajas.';
end;
GRACIAS miles.

Última edición por Roilo fecha: 18-07-2006 a las 22:25:15.
Responder Con Cita
  #11  
Antiguo 18-07-2006
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
Tiernes toda la razón riolo, pero el USO del TOP X solo es para Microsoft SQL Server, y me parece que MySQL (no estoy seguro), hay deferentes formas para cada motor.


Saludos.
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Contar registros filtrados con TDbf userlazarus Conexión con bases de datos 5 28-10-2015 11:02:21
contar subdirectorios... Jorghino reyes Varios 2 26-09-2005 17:33:21
contar caracteres Cosgaya Varios 1 04-06-2005 18:40:54
Contar Dias Paradiso Varios 2 27-06-2004 12:35:30
Problema con contar kao SQL 3 07-07-2003 11:47:14


La franja horaria es GMT +2. Ahora son las 00:39:50.


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
Copyright 1996-2007 Club Delphi