Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

field not found

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: field not found Responder citando

Hola a todos
tengo el siguente conjunto de instrucciones:
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("Select Sum(Gasto) as SumaGasto from Pedidos where CodigoUsuario='45653'");
Query24->Open();

CADA VEZ QUE EJECUTO ESTAS INSTRUCCIONES ME SALE EL ERROR :

Field 'CodigoUsuario' not found

HE PROBADO OTRAS INSTRUCCIONES COMO UPDATE Y SI ME FUNCIONAN LO QUE ME HACE SOSOPECHAR QUE EL PROBLEMA ESTA EN EL SUM PERO YO NO LO VEO SI ALGUIEN PUEDE TENER UNA IDEA DE LO Q M OCURRE ME HARIA UN GRAN FAVOR...GRACIAS!! Question
Volver arriba
Mensaje    Asunto: Responder citando

Revisa la estructura de la tabla " Pedidos" y si esta correcta prueba con esto:

Código:

 Query->SQL->Add("SELECT SUM(Gasto) as SumaGasto,CodigoUsuario FROM Pedidos WHERE CodigoUsuario='45653'");

_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Re: field not found Responder citando

Posiblemente el error no se encuentre en la ejecución de la sentencia ... posiblemente se halle en otra linea de codigo .... en alguna ocasión tuve un problema similar ..... y resulto estar en una divisón entre 0 .... pero no se mostraba el error de división por cero ... sino el 'Field not found'
Volver arriba
Ver perfil de usuario Enviar mensaje privado Yahoo Messenger MSN Messenger
Mensaje    Asunto: Responder citando

gracias por vuestros consejos pero me sigue sin funcionar, la base de datos esta bien y utilizando la instruccion alternativa que me habeis recomendado me sale otro error que me dice: Ha intentado ejecutar una consulta que no incluye la expresion especificada 'CodigoUsuario' como parte de una funcin de agregado
Volver arriba
Mensaje    Asunto: Responder citando

checa muy bien el tipo de datos Rolling Eyes de CodigoUsuario, posiblemete ahi este el error, tal vez sea un tipo int o algo relacionado y lo estas manjenado como un char o varchar..


saludos
_________________
Alberto Lavariega Arista
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

El error que tienes con esta sentencia:

Código:

Query->SQL->Add("SELECT SUM(Gasto) as SumaGasto,CodigoUsuario FROM Pedidos WHERE CodigoUsuario='45653'");


Es que el SUM te va a 'Sumar' todos los campos que coincidan en un solo registro, mientras que CodigoUsuario obviamente te devolvera mas de un registro, es por eso que esa consulta no es permitida, lo que tienes que hcer es agrupar la consulta por CodigoUsuario o sacarle un Max a Codigo Usuario, y como estas condicionando por CodigoUsuario, tu consulta no se vera afectada... has algo como esto:

Código:

Query->SQL->Add("SELECT SUM(Gasto) as SumaGasto,CodigoUsuario FROM Pedidos WHERE CodigoUsuario='45653' Group by CodigoUsuario");


o bien

Código:

Query->SQL->Add("SELECT SUM(Gasto) as SumaGasto,Max(CodigoUsuario) FROM Pedidos WHERE CodigoUsuario='45653'");


y como estas filtrando por CodigoUsuario, siempre tge va a regresar un solo valor para todos los campos, otra cosa que podrias hacer es no poner a CodigoUsuario dentro del select, ya que cmo estas filtrando por ese campo, obviamente ese valor ya lo conoces, entonces no seria necesario obtenerlo, y tu consulta te quedaria mas corta y obviamente mas rapida:

Código:

Query->SQL->Add("SELECT SUM(Gasto) as SumaGasto FROM Pedidos WHERE CodigoUsuario='45653'");


Espero te haya servido un poco mi ayuda, saludos
_________________
Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.