-4
連絡先createddateが別のテーブルで最後の6ヶ月間使用されていない場合は連絡先を削除する必要があります。Oracle:日付チェックは過去6ヶ月間使用されています
連絡先createddateが別のテーブルで最後の6ヶ月間使用されていない場合は連絡先を削除する必要があります。Oracle:日付チェックは過去6ヶ月間使用されています
あなたが言われていることの行
delete from contact c
where not exists(select 1
from orders o
where o.contact_id = c.contact_id
and o.order_date > add_months(sysdate,-6))
を削除するには、最後の6ヶ月
select c.contact_id
from contact c
where not exists(select 1
from orders o
where o.contact_id = c.contact_id
and o.order_date > add_months(sysdate,-6))
順序を持っていなかった連絡先を特定したい場合は、それはあなたがしたいとは考えにくいですこれをやりたいあなたが合理的なデータモデルを持っている場合、連絡先を削除することは、6ヶ月以上の注文を削除しなければならないことを意味します。これは悪い考えです。おそらく、その場合にactive_flag
を 'N'に設定するほうが意味があります。
ご質問ありがとうございます。しかし、私はあなたが何を求めているのか分かりません。ある期間に他のテーブルで日付を使用することは、あなたにとってどういう意味ですか?再現可能なテストケース(ddl、dml、期待される結果)はおそらく役に立ちます。 –
ここで[ask]に関するいくつかの提案と、[CONTROL AND ORDERS]を作成する方法について説明します。 – Aleksej
@JustinCave 2テーブル連絡先が今日作成され、contactIdがORDERSテーブルの任意の受注に使用されている場合は、npを意味します。過去6か月間に連絡先IDが使用されていない場合は、CONTACTテーブルのエントリを削除する必要があります。 –