SQL - Ejercicio Partes, Proveedores y Catalogo

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 5 puestos en SQL (en relación al último mes)
Gráfica de SQL

Ejercicio Partes, Proveedores y Catalogo

Publicado por Agustin (2 intervenciones) el 15/10/2018 17:24:23
Encuentre los sids de Proveedores que provean cada parte roja.


Captura

1
2
3
4
5
6
7
8
9
10
11
select distinct c.sid
from catalog c
where not exists (
    select *
    from parts p
    where p.color like 'red' and p.pid not in (
        select c1.pid
        from catalog c1
        where c1.sid = c.sid
    )
);

Encontré esta solución a este ejercicio de consulta sql, podrían explicármelo?
Desde ya muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Ejercicio Partes, Proveedores y Catalogo

Publicado por Isaias (1921 intervenciones) el 15/10/2018 22:07:01
Dame de forma unica c.sid
de la tabla catalog con un alias c
siempre y cuando NO EXISTAN en(
Dame todo
de la tabla parts con un alias p
donde p.color sea parecido a 'red' y p.pid no este en(
dame c1.pid
de la tabla catalog con un alias c1
donde c1.sid = c.sid

¿Se comprende?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 3
Ha disminuido su posición en 5 puestos en SQL (en relación al último mes)
Gráfica de SQL

Ejercicio Partes, Proveedores y Catalogo

Publicado por Agustin (2 intervenciones) el 16/10/2018 00:16:14
Gracias por la respuesta, la parte que no estoy entendiendo, es que la subconsulta "p.color like 'red'" devuelve las p.color ={1,3,8}, y la segunda subconsulta
1
2
3
select c1.pid
        from catalog c1
        where c1.sid = c.sid

devuelve resultado = {2}. A la hora de hacer el "AND" de las dos subcpnsultas, es decir {1,3,8} y {2} me da vacio, pero al final del ejercicio igual devuelve el resultado correcto

Captura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar