Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Conocer el número de registros (https://www.clubdelphi.com/foros/showthread.php?t=531)

judoboy 17-05-2003 13:22:07

Conocer el número de registros
 
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:
Código:

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ó:

Código:

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:

Código:

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.


La franja horaria es GMT +2. Ahora son las 04:09:44.

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