Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Varios
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 11/07/2010
gonza_619 gonza_619 is offline
Miembro
 
Join Date: Feb 2010
Posts: 157
Poder: 17
gonza_619 Va por buen camino
Post problema con consulta sql

hola a todos, bueno mi problema es que necesito hacer una consulta, y estas son mis tablas
ALUMNOS:NRO_ALUM,APYNOM.
MATERIAS:COD_MAT,NOMBRE,AÑO.
NOTAS:COD_ALUM,COD_MAT,NOTA,FECHA.

bien, lo que me pide la consulta es listar los nombres de los alumnos que aprobaron finales
bueno, utilizo en un form un dbgrid para mostrar el resultado,un tquery y en un tbutton intriduzco la consulta esta:

query1.SQL.Clear;
query1.SQL.add('select n.nota,a.apellido_nombre from notas as n');
query1.SQL.Add('inner join alumnos as a on (n.cod_alumno = a.cod_alumno) and (n.nota > 4)');
query1.Active:=true;
query1.Open;

el problema que me salta es: type mismatch in expression.'
no se que puede ser, el campo nota esta bien escrito, y si borro la parte de (n.nota > 4) me muestra el resultado sin problemas, que podria ser el error ? gracais
Reply With Quote
  #2  
Old 11/07/2010
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Si no me he equivocado y el aprobado es una nota mayor de 4, entonces debe ser algo así:

Código SQL [-]
select a.apynom, m.nombre, n.nota 
from tbalumnos a
inner join notas n on n.cod_alum=a.nro_alum
inner join materias m on m.cod_mat=n.cod_mat
where n.nota>4
Reply With Quote
  #3  
Old 11/07/2010
gonza_619 gonza_619 is offline
Miembro
 
Join Date: Feb 2010
Posts: 157
Poder: 17
gonza_619 Va por buen camino
consultas sql

hola, no lo he probado pero solo me interesa saber las notas, no el nombre de las materias, me funciona bien si saco la parte de : n.nota>4. pero cuando lo coloco me tira ese error. los campos estan bien relacionados.

PERDON, ERA MI ERROR QUE EL CAMPO NOTA ESTABA COMO ALFANUMERICO, POR LO TANTO SERIA N.NOTA>"4"
GRACIAS IGUALMENTE

Last edited by gonza_619 : 11/07/2010 at 21:11.
Reply With Quote
  #4  
Old 12/07/2010
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Bueno, pues no pongas la materia:

Código SQL [-]
select a.apynom, n.nota
from tbalumnos a
inner join notas n on n.cod_alum=a.nro_alum
where n.nota>4
Reply With Quote
  #5  
Old 14/07/2010
gonza_619 gonza_619 is offline
Miembro
 
Join Date: Feb 2010
Posts: 157
Poder: 17
gonza_619 Va por buen camino
Post problema con consulta sql

hola amigos, miren tengo una consulta q no me sale
tengo 3 tablas :
ALUMNOS: COD_ALUM, APE_NOMBRE
NOTAS: COD_ALUM,COD_MATERIA,FECHA,NOTA
(COD_ALUM,COD_MATERIA Y FECHA SON PKEY)
MATERIAS:COD_MATERIA,NOMBRE,AÑO

BIEN AHORA QUIERO SABER LOS ALUMNOS QUE APROBARON FINALES, PERO UN ALUMNO TIENE UN 2 EN UNA MATERIA Y UN 8 EN OTRA EN DISTINTA FECHA
YO EN LA CONSULTA PONGO=
SELECT A.APE_NOMBRE,N.NOTA FROM NOTA AS N
INNER JOIN ALUMNOS AS A ON (A.COD_ALUM=N.COD_ALUM) AND (NOTA>"4")

BIEN AHORA NO ME MUESTRA EL ALUMNO QUE SE SACO UN 2 EN UNA Y UN 8 EN OTRA YA QUE AL PARECER LO CONDICIONA EL 2
COMO PODRIA HACER , YA QUE APROBO UN FINAL Y LO TENDRIA QUE MOSTRAR, YA PROBE CON DISTINCT Y TAMPOCO SALIO
Reply With Quote
  #6  
Old 14/07/2010
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Por favor, continúa en el otro hilo que iniciaste sobre este tema, gracias.


p.d.: voy a unir ambos hilos.
Reply With Quote
  #7  
Old 22/07/2010
Jac fcc's Avatar
Jac fcc Jac fcc is offline
Miembro
 
Join Date: Jan 2010
Posts: 33
Poder: 0
Jac fcc Va por buen camino
Quote:
SELECT A.APE_NOMBRE,N.NOTA FROM NOTA AS N
INNER JOIN ALUMNOS AS A ON (A.COD_ALUM=N.COD_ALUM) AND (NOTA>"4")
intenta con esto:
Código Delphi [-]
SELECT A.APE_NOMBRE,SUM(N.NOTA)RESULTADO FROM NOTA AS N INNER JOIN ALUMNOS AS A  ON A.COD_ALUM=N.COD_ALUM INNER JOIN MATERIAS AS M ON M.COD_MATERIA=N.COD_MATERIA GROUP BY A.APE_NOMBRE HAVING RESULTADO > 10

Los inner permiten obtener todos los alumnos con sus respectivas notas de todas las materias.
el having comprueba que apruebe las materias (tomando en cuenta que la materia se aprueba con calificaciones mayores a 5, y en este ejemplo que son solo dos materias).
__________________
Para una vida sana hay que ocupar 30 de 24hrs diarias...Ups!
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Problema con consulta josi Varios 2 02/08/2008 18:12
problema con consulta cyber_zero SQL 1 26/06/2008 16:57
Problema con Consulta estebanx SQL 15 26/04/2007 00:19
problema con consulta sql Cosgaya SQL 4 16/01/2006 18:09
problema con consulta. jsanchez SQL 2 20/05/2003 19:35


All times are GMT +2. The time now is 00:07.


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