Leetcode 문제 : 링크텍스트
헷갈리는 부분
SELECT *
FROM Prices p
JOIN UnitsSold u ON p.product_id = u.product_id
WHERE u.purchase_date BETWEEN p.start_date AND p.end_date
AND u.purchase_date BETWEEN p.start_date AND p.end_date
일단 문제가 purchase_date가 언제 일어났는지를 확인해서 Prices table에 id확인하고 붙여야 되는데 그 때 쓰는 코드를 WHERE를 써야할지, AND를 써야할지 헷갈림
일단, JOIN ON다음에 ON은 올수 없다!
SELECT *
FROM Prices p
JOIN UnitsSold u ON p.product_id = u.product_id
AND u.purchase_date BETWEEN p.start_date AND p.end_date
AND
SELECT *
FROM Prices p
JOIN UnitsSold u ON p.product_id = u.product_id
WHERE u.purchase_date BETWEEN p.start_date AND p.end_date
WHERE
결론!
정답!
SELECT p.product_id, round(sum(p.price * u.units)/sum(units), 2) AS average_price
FROM Prices p
JOIN UnitsSold u ON p.product_id = u.product_id
WHERE u.purchase_date BETWEEN p.start_date AND p.end_date
GROUP BY p.product_id