a ver, pongo la consulta entera que además la he copiado mal porque estaba haciendo pruebas:
Código MySQL:
Ver originalSELECT CLIENTES.NOMBRE_CLIENTE
,CLIENTES.MAIL
FROM LIBROS
, PEDIDOS
, PEDIDO_CONTIENE_LIBRO
, CLIENTES
WHERE LIBROS.ID_LIBRO
= PEDIDO_CONTIENE_LIBRO.ID_LIBRO
AND PEDIDOS.ID_COMPRA
= PEDIDO_CONTIENE_LIBRO.ID_COMPRA
AND CLIENTES.ID_CLIENTE
= PEDIDOS.ID_CLIENTE
HAVING SUM( LIBROS.PRECIO
* PEDIDO_CONTIENE_LIBRO.CANTIDAD
) = (
SELECT MAX(LIBROS.PRECIO
* PEDIDO_CONTIENE_LIBRO.CANTIDAD
) FROM LIBROS
,CLIENTES
,PEDIDO_CONTIENE_LIBRO
,PEDIDOS
,( SELECT SUM(LIBROS.PRECIO
* PEDIDO_CONTIENE_LIBRO.CANTIDAD
) FROM LIBROS
, CLIENTES
, PEDIDOS
, PEDIDO_CONTIENE_LIBRO
WHERE LIBROS.ID_LIBRO
= PEDIDO_CONTIENE_LIBRO.ID_LIBRO
AND PEDIDOS.ID_COMPRA
= PEDIDO_CONTIENE_LIBRO.ID_COMPRA
AND CLIENTES.ID_CLIENTE
= PEDIDOS.ID_CLIENTE
GROUP BY (pedido_contiene_libro.id_compra
)
WHERE LIBROS.ID_LIBRO
= PEDIDO_CONTIENE_LIBRO.ID_LIBRO
AND PEDIDOS.ID_COMPRA
= PEDIDO_CONTIENE_LIBRO.ID_COMPRA
AND CLIENTES.ID_CLIENTE
= PEDIDOS.ID_CLIENTE
)
;
la cosa está en que me devuelve 0 columnas, lógico porque nadie ha gastado 945 dólares que es lo que me devuelve la subquery, quiero que la subquery me dé 1011 pero la tabla derivada en from parace no ejecutarse por así decirlo