Ver la Versión Completa : Conocer el número de registros
judoboy
17-05-2003, 13:22:07
Hola tengo que necesito realizar una consulta para saber cuantas veces aparece un campo en una tabla.
Ej. quiero saber cuantas veces aparace un socio, y para ello hago lo siguiente pero falla:
SELECT COUNT(CP.SOCIO) FROM COPIAS_PELICULA CP, SOCIO S
WHER S.CODIGO_SOCIO=CP.SOCIO AND
S.CODIGO_SOCIO='''+codigouser+''' ';
hay alguna otra forma de hacerlo
judoboy
17-05-2003, 13:23:35
Se me olvidaba utilizo Acces, en esta aplicación.
:(
marcoszorrilla
17-05-2003, 13:42:31
SELECT COUNT(CP.SOCIO) FROM COPIAS_PELICULA CP
where CP.CODIGO_SOCIO='''+codigouser+''' ';
Si el código del Socio está en las 2 tablas, no nos hace falta para nada la tabla de Socios, puesto que de lo que se trata de saber es cuantas veces está este socio en la Tabla Copias_Pelicula.
Un Saludo.
andres1569
17-05-2003, 13:47:59
Hola:
Judoboy escribió:
SELECT COUNT(CP.SOCIO) FROM COPIAS_PELICULA CP, SOCIO S
WHER S.CODIGO_SOCIO=CP.SOCIO AND
S.CODIGO_SOCIO='''+codigouser+''' ';
Hay dos cosas que quizás sean errores de redacción (WHER es WHERE), y a '''codigouser + ''' '; le falta una comilla al principio, y le sobra el espacio final, no sé si lo tienes igual en la consulta.
Otra cosa: no hace falta que ligues con la tabla SOCIO, bastaría lo siguiente:
SELECT COUNT(CP.SOCIO)
FROM COPIAS_PELICULA CP
WHER CP.SOCIO=''''+codigouser+'''';
Creo que éste código debería funcionar
Saludos
judoboy
17-05-2003, 18:00:42
Bueno, es que he probado de la forma que me me comentais y tambien fallaba, por eso pensaba si tenia que relacionar las tablas.
Lo de WHER ha sido un fallo en la transcripción y lo de la comilla que falta es por que falta la del principio que se me habia olvidado ponerla:
'SELECT .....
de todas formas, el fallo que me dice es que los tipos no coinciden, utilizo el debugger, para ver el valor que tiene codigouser y tiene '1' y SOCIO es de tipo número en Acces.
Donde puede estar el error.
Hay donde este Interbase&Firebird que se quite el p*** Access
andres1569
17-05-2003, 18:10:02
Hola:
Pues por lo que dices el error está en poner el codigouser entre comillas, puesto que no es un valor tipo cadena.
Saludos
marcoszorrilla
17-05-2003, 22:09:55
Prueba con este ejemplo y verás como te funciona:
procedure TForm1.Button1Click(Sender: TObject);
var
CodigoUser:Integer;
begin
CodigoUser:=1;
ADO_Q.Close;
ADO_Q.Sql.Clear;
ADO_Q.Sql.Add('Select Count(Cp) from Copias_Pelicula');
ADO_Q.Sql.Add('Where CP ='+IntToSTr(CodigoUser));
ADO_Q.Active:=True;
end;
Un Saludo.
judoboy
19-05-2003, 09:52:53
Muchas gracias, ya me funciona, menos mal.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.