tengo una base de datos en la que guardo una serie de pedidos. En estos pedidos hay pizzas, bebidas y ensaladas.
En una consulta saco los pedidos del dia de hoy, el problema está en que no consigo hacer la consulta correctamente para que me muestre NULL si no se han pedido bebidas, ensaladas o pizzas, lo he intentado con LEFT JOIN pero no l consigo
Las tablas que tengo son las siguientes: pedidos, pizzas, pedidos_otros_productos, otros_productos. En estas dos ultimas tablas guardo las bebidas y ensaladas.
La consulta para que me muestre unicamente las pizzas es facil y la tengo así:
Código PHP:
SELECT pedidos.id_pedido, pedidos.numero_pedido, pedidos.fecha, TIME_FORMAT(pedidos.fecha, '%H:%i:%S') AS hora, pizzas.precio, pizzas_ingredientes.id_pizza, tamanos.tamano, ingredientes.ingrediente
FROM pedidos, pizzas, tamanos, pizzas_ingredientes, ingredientes
WHERE pedidos.id_pedido = pizzas.id_pedido
AND pizzas.id_tamano = tamanos.id_tamano
AND pizzas.id_pizza = pizzas_ingredientes.id_pizza
AND pizzas_ingredientes.id_ingrediente = ingredientes.id_ingrediente
AND fecha
BETWEEN '".$fecha_dia."'
AND '".$fecha_noche."'
Código PHP:
SELECT pedidos.id_pedido, pedidos.numero_pedido, pedidos.fecha, TIME_FORMAT(pedidos.fecha, '%H:%i:%S') AS hora, pizzas.precio, pizzas_ingredientes.id_pizza, tamanos.tamano, ingredientes.ingrediente,
(SELECT *
FROM pedidos
LEFT JOIN pedidos_otros_productos ON pedidos.id_pedido = pedidos_otros_productos.id_pedido)
FROM pedidos, pizzas, tamanos, pizzas_ingredientes, ingredientes
WHERE pedidos.id_pedido = pizzas.id_pedido
AND pizzas.id_tamano = tamanos.id_tamano
AND pizzas.id_pizza = pizzas_ingredientes.id_pizza
AND pizzas_ingredientes.id_ingrediente = ingredientes.id_ingrediente
AND fecha
BETWEEN '".$fecha_dia."'
AND '".$fecha_noche."'