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

Consulta SQL tablas relacionadas

Estas en el tema de Consulta SQL tablas relacionadas en el foro de Mysql en Foros del Web. Buenas quisiera saber como hacer que esta consulta me devuelva el nombre del cliente(estudiante) que pertenecen a la carrera "Ing Informatica", para esto ya he ...
  #1 (permalink)  
Antiguo 29/04/2015, 22:48
 
Fecha de Ingreso: abril-2015
Ubicación: La Libertad
Mensajes: 1
Antigüedad: 9 años, 7 meses
Puntos: 0
Pregunta Consulta SQL tablas relacionadas

Buenas quisiera saber como hacer que esta consulta me devuelva el nombre del cliente(estudiante) que pertenecen a la carrera "Ing Informatica", para esto ya he creado 2 tablas, Clientes y Profesion
Código MySQL:
Ver original
  1. Tabla Clientes
  2. --------------------------------------------------------------------------------------------------------
  3. CREATE TABLE Clientes(
  4. cli_nombre VARCHAR(30),
  5. cli_apellido VARCHAR(30),
  6. cli_obs VARCHAR(50),
  7. cli_edad INT,
  8. cli_ciudad INT(3),
  9. cli_ocupacion enum('estudiante','licenciado','magister','ingeniero','doctor'),
  10. cli_profesion int,
  11. FOREIGN KEY (cli_ciudad)
  12. references Ciudades(ciu_codigo),
  13. FOREIGN KEY (cli_profesion)
  14. references profesion(pro_codigo)
  15. );
  16. --------------------------------------------------------------------------------------------------------
  17. Tabla Profesion
  18. --------------------------------------------------------------------------------------------------------
  19. create table profesion(
  20. pro_nombre varchar(50)
  21. );
  22. --------------------------------------------------------------------------------------------------------

Y aca esta los insert

Insert Tabla Clientes
Código SQL:
Ver original
  1. --------------------------------------------------------------------------------------------------------
  2.  
  3. INSERT INTO Clientes (cli_nombre, cli_apellido, cli_obs, cli_edad, cli_ciudad, cli_ocupacion, cli_profesion) VALUES
  4. ("Carlos", "Garrido Palacios", "Estudiante empeñoso", 15,5,"estudiante",2),
  5. ("Javier", "Guimgamp Leca ", "Estudiante aplicado", 22,2,"doctor",1),
  6. ("Arturo", "Diaz Pulido", "Egresado-Profesor", 38,1,"magister",2),
  7. ("Jorge", "Guillen Sevilla", "Estudiante poco empeñoso", 21,4,"estudiante",4),
  8. ("Jason", "Beckhan Sanchez", "Estudiante nacido para el futbol", 18,2,"estudiante",5),
  9. ("Raul", "Valdez Alanes", "Estudiante recien egresado", 23,5,"ingeniero",3);
  10. --------------------------------------------------------------------------------------------------------

Insert Tabla Profesion
Código MySQL:
Ver original
  1. --------------------------------------------------------------------------------------------------------
  2. INSERT INTO profesion(pro_nombre) values
  3. ("Arquitecto"),
  4. ("Ing Informatica"),
  5. ("Ing Civil"),
  6. ("Ing Mecatronico"),
  7. ("Ing Civil"),
  8. ("Medico Cirujano");
  9.  
  10. --------------------------------------------------------------------------------------------------------

Bueno yo he realizado esta consulta, sin embargo me devuelve en blanco la tabla,

Consulta
Código MySQL:
Ver original
  1. --------------------------------------------------------------------------------------------------------
  2. SELECT cli_nombre, cli_edad FROM Clientes WHERE cli_ocupacion="estudiante";
Código MySQL:
Ver original
  1.     cli_nombre
  2.     Clientes C INNER JOIN Profesion P ON C.cli_profesion=P.pro_nombre
  3.     P.pro_nombre="Ing Informatica";
[/B]

--------------------------------------------------------------------------------------------------------

De antemano gracias por su ayuda!

Última edición por gnzsoloyo; 30/04/2015 a las 06:13
  #2 (permalink)  
Antiguo 30/04/2015, 06:22
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Consulta SQL tablas relacionadas

Mira, por lo pronto, usar comillas (") para las cadenas de texto tiene resultados erráticos en MySQL, porque por default están definidas para los nombres de objetos de base, como tablas, columnas, bases, triggers, etc.
Si el servidor no tiene configurado que los tome como delimitadores de texto, pueden dispararse errores de ejecución de difícil diagnóstico.

Es preferible que uses apóstrofos, como en otros DBMS. Esos siemrpe están definidos para cadenas de texto.

POor otro lado, la relacion que pones en el INNER JOIN la haces sobre el campo incorrecto de la tabla referida.

Código SQL:
Ver original
  1. SELECT cli_nombre
  2.    FROM Clientes C INNER JOIN Profesion P ON C.cli_profesion=P.pro_codigo
  3.  WHERE P.pro_nombre='Ing Informatica';
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: consultas+mysql, join, tablas
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 10:00.