La pregunta es que cliente ha comprado los 5 articulos, no importa la fecha de compra o que sea en un periodo determinado sino solo saber que cliente tiene compras en las 5 secciones
Código SQL:
Ver originalCREATE TABLE #Seccion (
Codigo_Seccion INT NOT NULL,
Nombre VARCHAR(45))
INSERT INTO #seccion VALUES (1,'Seccion1')
INSERT INTO #seccion VALUES (2,'Seccion1')
INSERT INTO #seccion VALUES (3,'Seccion1')
INSERT INTO #seccion VALUES (4,'Seccion1')
INSERT INTO #seccion VALUES (5,'Seccion1')
INSERT INTO #seccion VALUES (6,'Seccion1')
CREATE TABLE #Articulo (
Codigo_Articulo INT NOT NULL ,
Codigo_Seccion INT NOT NULL,
Nombre VARCHAR(45))
INSERT INTO #articulo VALUES (1,1,'Art1')
INSERT INTO #articulo VALUES (2,2,'Art2')
INSERT INTO #articulo VALUES (3,3,'Art3')
INSERT INTO #articulo VALUES (4,4,'Art4')
INSERT INTO #articulo VALUES (5,5,'Art5')
INSERT INTO #articulo VALUES (6,6,'Art6')
CREATE TABLE #Pedido (
ID_Pedido INT NOT NULL,
Codigo_Articulo INT NOT NULL ,
DNI_Cliente VARCHAR(16) NOT NULL)
INSERT INTO #pedido VALUES (1,1,'11234')
INSERT INTO #pedido VALUES (2,2,'11234')
INSERT INTO #pedido VALUES (3,3,'11234')
INSERT INTO #pedido VALUES (4,4,'11234')
INSERT INTO #pedido VALUES (5,5,'11234')
INSERT INTO #pedido VALUES (6,5,'11234')
INSERT INTO #pedido VALUES (7,1,'11234')
INSERT INTO #pedido VALUES (1,1,'11235')
INSERT INTO #pedido VALUES (1,2,'11235')
INSERT INTO #pedido VALUES (1,3,'11235')
INSERT INTO #pedido VALUES (1,3,'11235')
INSERT INTO #pedido VALUES (1,3,'11235')
INSERT INTO #pedido VALUES (1,4,'11235')
INSERT INTO #pedido VALUES (1,5,'11235')
INSERT INTO #pedido VALUES (1,6,'11235')
CREATE TABLE #Cliente (
DNI_Cliente VARCHAR(45) NOT NULL ,
Nombre VARCHAR(45) )
INSERT INTO #cliente VALUES ('1234','Libras')
INSERT INTO #cliente VALUES ('12345','Libras1')
SELECT * FROM(
SELECT dni_cliente, COUNT(codigo_seccion) AS total FROM(
SELECT DISTINCT DNI_Cliente,Codigo_Seccion FROM #pedido AS t1
LEFT JOIN #Articulo AS t2 ON (t1.Codigo_Articulo=t2.Codigo_Articulo)
) AS t3
GROUP BY dni_cliente
) AS t4 WHERE total=(SELECT COUNT(*) FROM #Seccion)
El resultado de este ejercicio donde son 6 secciones es el usuario Libras1
P.D: el query esta en sql server(para que no preguntes el porque los #) y use tablas temporales #, pero el codigo del query lo pudes adaptar para mysql :)