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

[SOLUCIONADO] Consulta que selecciones dos campos direntes

Estas en el tema de Consulta que selecciones dos campos direntes en el foro de Mysql en Foros del Web. Hola sucede que tengo un gran problema o al menos me estoy ahogando en un baso de agua, sucede que tengo dos tablas aceptación y ...
  #1 (permalink)  
Antiguo 17/01/2014, 18:26
 
Fecha de Ingreso: junio-2013
Mensajes: 3
Antigüedad: 10 años, 10 meses
Puntos: 0
Busqueda Consulta que selecciones dos campos direntes

Hola sucede que tengo un gran problema o al menos me estoy ahogando en un baso de agua, sucede que tengo dos tablas aceptación y alumno la la cual la relación el idAlumno, pero me gustaría seleccionar los registros que no hayan generado una aceptación les muestro..

el idAlumno de la tabla alumno son 3
1
11
12

los que realizaron aceptación en la relación
1
12
pero me gustaría poder seleccionar el registro 11 lo intente de la siguiente manera..

Código SQL:
Ver original
  1. SELECT aceptacion.idAlum AS ALUM,
  2.             alumno.idAlum AS ALUMNO
  3. FROM aceptacion
  4. INNER JOIN alumno
  5. ON aceptacion.idAlum <> alumno.idAlum

pero me muestra todos los registros, gracias por su ayuda...

Última edición por gnzsoloyo; 17/01/2014 a las 18:46
  #2 (permalink)  
Antiguo 17/01/2014, 18:51
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, 5 meses
Puntos: 2658
Respuesta: Consulta que selecciones dos campos direntes

Cita:
me gustaría seleccionar los registros que no hayan generado una aceptación
Tu problema es que no estás entendiendo el funcionamiento de INNER JOIN.
Esa cláusula devuelve aquellos registros que coincidan entre dos tablas. Es decir, son todos los relacionados, y tu estás buscando, según dices, los no relacionados.
Para eso corresponde usar LEFT JOIN:

Código SQL:
Ver original
  1. SELECT
  2.     AL.idAlum ALUMNO
  3. FROM alumno AL LEF JOIN aceptacion AC ON AL.idAlum = AC.idAlum
  4. WHERE AC.idAlum IS NULL

Además, como podrás ver, no puedes poner "aceptacion" antes de "alumno", ni tampoco lo que sea "diferente", porque eso devolveria un producto cartesiano. Y menos aún poner el dato de "aceptacion" en el SELECT, porque en lo que buscas simplemente no existiría...

Necesitas un repaso de JOIN.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 18/01/2014, 15:05
 
Fecha de Ingreso: junio-2013
Mensajes: 3
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Consulta que selecciones dos campos direntes

Muchas gracias enserio tanto por tomarte el tiempo de poder ayudarme saludos desde México un gran saludo....

Etiquetas: campos, join, registro, selecciones, select, tabla
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 13:27.