Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

consulta sql de varias tablas mostrando el resultado en php

Estas en el tema de consulta sql de varias tablas mostrando el resultado en php en el foro de Mysql en Foros del Web. hola saludos estoy teniendo problemas para relizar la siguiente consulta: tengo que saber el modulo, el trimestre y la nota del usuario que se ha ...
  #1 (permalink)  
Antiguo 26/03/2014, 12:31
 
Fecha de Ingreso: marzo-2013
Mensajes: 36
Antigüedad: 11 años
Puntos: 1
consulta sql de varias tablas mostrando el resultado en php

hola saludos estoy teniendo problemas para relizar la siguiente consulta:
tengo que saber el modulo, el trimestre y la nota del usuario que se ha entrado en la pagina con variable de sesion (dni es la variable y como se loguea).

las tablas que tengo son MODULOS, USUARIOS y NOTAS

en MODULOS tengo modulo E idmodulo
en NOTAS tengo dni, idmodulo, notas y trimestre

MODULO TRIMESTRE NOTA

MATEMATICAS 1 6
INGLES 1 4
INGLES 3 3
....

En funcion de los trimestres que este el alumno tendra tantas notas por trimestre.
solo he conseguido hacer barbaridades en el phpmyadmin y no sacar nada claro...
alguien me puede hechar una mano?
gracias!
  #2 (permalink)  
Antiguo 26/03/2014, 13:11
 
Fecha de Ingreso: marzo-2013
Mensajes: 36
Antigüedad: 11 años
Puntos: 1
Respuesta: consulta sql de varias tablas mostrando el resultado en php

Hasta ahora he llegado a esto
Código SQL:
Ver original
  1. SELECT NOTAS.trimestre, NOTAS.nota, MODULOS.modulo FROM NOTAS, MODULOS WHERE dni = '12345678a';

Pero la query es incorrecta ya que me aparecen 48 registros de los solo 9 posibles

Última edición por gnzsoloyo; 26/03/2014 a las 13:22
  #3 (permalink)  
Antiguo 26/03/2014, 13:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: consulta sql de varias tablas mostrando el resultado en php

Así, ¿cuántos registros devuelve?:
Código SQL:
Ver original
  1. SELECT N.trimestre, N.nota, M.modulo
  2. FROM NOTAS N INNER JOIN MODULOS M ON M.idmodulo = N.idmodulo
  3. WHERE dni = '12345678a'
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 26/03/2014, 13:31
 
Fecha de Ingreso: marzo-2013
Mensajes: 36
Antigüedad: 11 años
Puntos: 1
Respuesta: consulta sql de varias tablas mostrando el resultado en php

las tablas NOTASy MODULOS tienen un campo en comun, idmodulo
  #5 (permalink)  
Antiguo 26/03/2014, 13:36
 
Fecha de Ingreso: marzo-2013
Mensajes: 36
Antigüedad: 11 años
Puntos: 1
Respuesta: consulta sql de varias tablas mostrando el resultado en php

hola, me devuelve 5 de los 6 que tendria que ser:
te adjunto mejor el codigo original en catalan

Código MySQL:
Ver original
  1. SELECT N.trimestre, N.nota, M.modul FROM NOTES N INNER JOIN MODULS M ON M.idmodul = N.idmodul WHERE dni = '12345678A'
para ponerlos en orden, modulo, trimestre y nota solo cambiando en orden de la query?

Última edición por gnzsoloyo; 26/03/2014 a las 13:41
  #6 (permalink)  
Antiguo 26/03/2014, 13:38
 
Fecha de Ingreso: marzo-2013
Mensajes: 36
Antigüedad: 11 años
Puntos: 1
Respuesta: consulta sql de varias tablas mostrando el resultado en php

me falta el ultimo registro que es de un idmodulo distinto pero el trimestre y la nota son los mismo
  #7 (permalink)  
Antiguo 26/03/2014, 13:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: consulta sql de varias tablas mostrando el resultado en php

Cita:
Iniciado por jninufg Ver Mensaje
hola, me devuelve 5 de los 6 que tendria que ser:
te adjunto mejor el codigo original en catalan

Código MySQL:
Ver original
  1. SELECT N.trimestre, N.nota, M.modul FROM NOTES N INNER JOIN MODULS M ON M.idmodul = N.idmodul WHERE dni = '12345678A'
para ponerlos en orden, modulo, trimestre y nota solo cambiando en orden de la query?
Ponerlos en un determinado orden, implica usar cláusulas ORDER BY. Siempre.
En cuanto al caso de un idModulo que no corresponda a la tabla Modulos, en la tabla notas, eso muestra un erro de datos de los severos, ya que siendo una tabla base, no debería existir ningún registro de Notas que no corresponda a un módulo. Si lo hay, tienes un error de diseño, de dependencias y de datos.
O sea, tendrías un serio problema.

Mi sugerencia es que primero nos digas cuál es la estructura real de las tablas, con un simple:
Código MySQL:
Ver original
  1. SHOW CREATE TABLE modulos;
  2. SHOW CREATE TABLE usuarios;

Copia y posteanos el resultado de cada una de esas, y veremos partir de allí sy hay defectos.


Broma aparte, las bases de datos sólo entienden SQL ... no lenguajes humanos.
El idioma usado para poner los nombres de los objetos es irrelevante, a menos que uses palabras simples en inglés, que pueden traerte problemas de sintaxis en algún momento.
Incuso podrías usar nombres codificados, sin significación, y sería lo mismo. Lo que importa es lo que contienen, no como se llamen.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 26/03/2014, 13:50
 
Fecha de Ingreso: marzo-2013
Mensajes: 36
Antigüedad: 11 años
Puntos: 1
Respuesta: consulta sql de varias tablas mostrando el resultado en php

SOLUCIONADO, error mio por la consulta!

mucahs gracias!

Etiquetas: php, resultado, sql, tabla, tablas, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:59.