私の簡略化されたクエリは次のようになります。
SELECT p.product_Id,
p.productName,
s.LastSales_date
FROM products as p
LEFT OUTER JOIN
( SELECT product_id ,
max(Sales_date) as LastSales_date
FROM Sales group by product_id) as s
on s.product_id=p.product_Id
where
(s.LastSales_date is null or -- is it right?
s.LastSales_date between '2012/01/01' and '2012/01/05')
結果:
ProductName LastSalesDate
p_A 2012/01/01
p_C 2012/01/01
p_E 2012/01/02
しかし、見逃した行があり、sales_date がない行があるため、次のような結果を取得する方法は次のとおりです。
ProductName LastSalesDate
p_A 2012/01/01
p_b <null>
p_C 2012/01/01
p_E 2012/01/02
私の問題 (null) の行が表示されません。試していただければ幸いです:-)