Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DROP TABLE IF EXISTS productos,proveedores,suministra cascade;
- CREATE TABLE productos(
- id INTEGER ,
- color CHAR(10),
- PRIMARY KEY(id,color)
- );
- CREATE TABLE proveedor(
- id INTEGER PRIMARY KEY,
- nombre CHAR(20)
- );
- CREATE TABLE suministra(
- id INTEGER PRIMARY KEY,
- id_producto INTEGER REFERENCES productos,
- id_proveedor INTEGER REFERENCES proveedor,
- color CHAR(10) REFERENCES productos,
- cantidad INTEGER
- );
- INSERT INTO productos VALUES
- (001,'Rosa'),
- (001,'Verde'),
- (002,'Rojo');
- INSERT INTO proveedor VALUES
- (001,'Paco-Regalos'),
- (002,'Carlos&Cia'),
- (003,'Chinatown');
- INSERT INTO suministra VALUES
- (1,001,001,'Verde'),
- (2,001,002,'Rojo'),
- (3,002,001,'Verde'),
- (4,002,001,'Rojo');
- --Ejercicio 4
- --1
- SELECT producto.id, proveedor.id FROM suministra
- GROUP BY producto.id,proveedor.id
- HAVING COUNT(*)=(SELECT COUNT(*) FROM proveedores);
- --2
- SELECT producto.id, proveedor.id FROM suministra
- GROUP BY producto.id,proveedor.id
- HAVING COUNT(*)=(SELECT COUNT(*) FROM suministra);
- --3
- SELECT proveedor.id, producto.id FROM suministra NATURAL JOIN proveedores
- GROUP BY producto.id,proveedor.id
- HAVING COUNT(*)=(SELECT COUNT(*) FROM productos);
- --4
- SELECT proveedor.id, producto.id FROM suministra NATURAL JOIN proveedores
- GROUP BY producto.id,proveedor.id
- HAVING COUNT(*)=(SELECT COUNT(*) FROM productos
- WHERE color='Rojo');
- --5
- SELECT id,color FROM productos
- GROUP BY id,color
- HAVING COUNT(*)=(SELECT COUNT(*) FROM productos);
- --6
- SELECT proveedor.id,nombre,producto.id,color
- FROM proveedor INNER JOIN suministra ON (id=id_proveedor)
- GROUP BY proveedor.id,nombre,producto.id,color
- HAVING COUNT(*)=(SELECT id,color
- FROM productos
- WHERE id=1 );
- /* Porque no puede existir un producto con un mismo color en varios proveedores */
- --7
- SELECT proveedor.id,nombre,producto.id,color
- FROM proveedor INNER JOIN suministra ON (id=id_proveedor)
- HAVING COUNT(*)=(SELECT id,color FROM productos);
Advertisement
Add Comment
Please, Sign In to add comment