2 つのテーブルがあるかのように、テーブルをそれ自体と一致させる必要があります。したがって、テーブルを参照するために o1 と o2 の 2 つのエイリアスを使用します。
SELECT DISTINCT o1.customer, o1.product, o1.datum, o1.sale
FROM one o1, one o2
WHERE (o1.datum = o2.datum-1 OR o1.datum = o2.datum +1)
AND o1.sale = 'NO'
AND o2.sale = 'NO';
customer | product | datum | sale
----------+---------+------------+------
X | A | 2010-01-03 | NO
X | A | 2010-01-04 | NO
X | A | 2010-01-06 | NO
X | A | 2010-01-07 | NO
X | A | 2010-01-08 | NO
postgresql データベースでクエリを実行したことに注意してください。ms-sql-server では構文が異なる可能性があり、おそらくエイリアス 'FROM one AS o1' で異なる可能性があり、その方法で加算/減算できない可能性があります。