このパターンになると、サブクエリを使ったり、間違いが猛烈に増える。
SELECT *
FROM
売上ヘッダ h
INNER JOIN 売上明細 m
ON h.伝票番号 = m.伝票番号
INNER JOIN 得意先マスタ t
ON h.得意先CD = t.得意先CD
LEFT <OUTER> JOIN 商品マスタ s
ON m.商品CD = s.商品CD
AND h.売上日 >= s.有効期限FROM
AND h.売上日 <= s.有効期限TO
WHERE
h.売上日 BETWEEN 開始日 AND 終了日