Asumiendo PRICES.date
es un tipo de datos DATETIME, use:
SELECT pd.id,
pd.name,
pr.price
FROM PRODUCTS pd
LEFT JOIN PRICES pr ON pr.id = pd.id
AND DATE(pr.date) = CURRENT_DATE
En este ejemplo, la date
los criterios se están aplicando antes se realiza el JOIN. Es como una tabla derivada, filtrando la información antes de realizar la UNIÓN, lo que producirá resultados diferentes que si el criterio se especificara en la cláusula WHERE.
Para obtener la lista de productos y precios para mañana, use:
SELECT pd.id,
pd.name,
pr.price
FROM PRODUCTS pd
LEFT JOIN PRICES pr ON pr.id = pd.id
AND DATE(pr.date) = DATE_ADD(CURRENT_DATE, INTERVAL 1 DAY)
Referencia:
Si desea los precios de hoy y de mañana en una sola consulta, utilice:
SELECT pd.id,
pd.name,
pr1.price AS price_today,
pr2.price AS price_tomorrow
FROM PRODUCTS pd
LEFT JOIN PRICES pr1 ON pr1.id = pd.id
AND DATE(pr1.date) = CURRENT_DATE
LEFT JOIN PRICES pr2 ON pr2.id = pd.id
AND DATE(pr2.date) = DATE_ADD(CURRENT_DATE, INTERVAL 1 DAY)