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

[SOLUCIONADO] Vistas MySQL con multitabla y subconsultas

Estas en el tema de Vistas MySQL con multitabla y subconsultas en el foro de Mysql en Foros del Web. Teniendo este diseño se me plantean una serie de ejercicios los cuales iré mostrando para recibir ayuda , si es posible gracias He probado con ...
  #1 (permalink)  
Antiguo 17/05/2016, 16:34
 
Fecha de Ingreso: mayo-2015
Ubicación: Vigo
Mensajes: 20
Antigüedad: 9 años, 5 meses
Puntos: 0
Vistas MySQL con multitabla y subconsultas



Teniendo este diseño se me plantean una serie de ejercicios los cuales iré mostrando para recibir ayuda , si es posible gracias

He probado con multitabla y subconsulta y no logro encontrar la solución correcta

1. El director del proyecto 'Células madres' quiere saber los nombres de los
científicos que están trabajando en él. 'celulas'.

Código SQL:
Ver original
  1. CREATE VIEW OR REPLACE dire_proyect AS
  2. SELECT id  FROM proyectos,asignado_a,cientificos
  3. WHERE asignado_a.proyecto = proyectos.id AND asignado_a.cientifico
  4. = cientificos.dni;
  5.  
  6. CREATE VIEW OR REPLACE dire_proyect AS
  7. SELECT nombre FROM proyectos WHERE id IN
  8. (SELECT proyecto FROM asignado_a WHERE cientifico IN )
  9.  
  10. CREATE VIEW dire_proyect AS
  11. SELECT nombre FROM cientificos WHERE dni IN
  12. (SELECT cientifico FROM asignado_a WHERE proyecto IN
  13. (SELECT id FROM proyectos WHERE nombre LIKE 'Celulas madre');

Me da un error de sintaxis en la linea 4 y no logro hallar el error en la segunda vista subconsulta, sé que vista multitabla y la primera vista con subconsulta están fatal , pero de tantas modificaciones que he hecho y no me ha salido lo que quería , he desistido , si alguien me puede explicar en que fallo se lo agradezco .

Última edición por gnzsoloyo; 18/05/2016 a las 08:32
  #2 (permalink)  
Antiguo 18/05/2016, 07:55
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Vistas MySQL con multitabla y subconsultas

y cual es el error??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 18/05/2016, 08:33
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: Vistas MySQL con multitabla y subconsultas

Faltan parentesis, no está un terminador de línea, y además hizo un Copy+Paste defectuoso que dejó un IN sin set a comparar...
Eso, sin contar con que usa el LIKE sin comodines, lo que implica que debería cambiarlo por un "="...
__________________
¿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 19/05/2016, 06:39
 
Fecha de Ingreso: mayo-2015
Ubicación: Vigo
Mensajes: 20
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Vistas MySQL con multitabla y subconsultas

Exacto Gonzalo lleva razón , gracias , seguimos con ejercicios de este tipo , me gustaría saber como puedo postear como código SQL y no como código simple

4. ¿En qué proyecto ha ganado más dinero 'Mara Reina'?, ¿cuánto ha ganado?. Crea la vista 'mara'
para ver lo que ha ganado Mara en cada proyecto, después usa esa vista para crear otra vista y
resolver la consulta. 'maxmara'.

Código:
create or replace view mara 
select count(asignado_a.proyecto)* horas* 120 ,proyectos.nombre
from proyectos,asignado_a,cientificos
where asignado_a.cientifico = cientificos.dni 
and asignado_a.proyecto = proyectos.id
group by proyectos.id;
Lo de crear una vista a partir de otra , no tengo ni idea , puede sea con select * from mara ...

Etiquetas: multitabla, subconsultas, vistas
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 09:35.