0

2 つのテーブルがあります。1 つはアクティビティによって生成された情報、もう 1 つは新しい契約情報です。最終的に私がやろうとしているのは、活動日から 30 日以内に新しい契約が生成されたかどうかを確認することです。たとえば、次のようになります。

活動

契約

最初のテーブルは活動テーブル、2 番目のテーブルは契約テーブルです。たとえば、アカウント ABC123 には、活動日から 30 日以内に新しい契約 (CT-7135) があります。ただし、CT-7695 はテーブルに存在し、アカウント ABC123 に関連付けられていますが、活動日から 30 時間枠外に開始されたため、「新規契約」要件を満たしていません。

ただし、アカウント GJ1234 は、アクティビティ日から 30 日以内の契約がテーブルにないため、「いいえ」になります。同様に、CGE435 (CT-4389 のため) と GHE568 (契約 CT-4389 のため、CT-8080 AND / OR CT-6690 ---- しかし CT-6829 のためではありません) は両方とも資格があります。

私の問題は、この動的な活動日付 b/c の結合を行おうとしていると思いますが、それは項目ごとに異なります。

考え?

ありがとう。

4

2 に答える 2

0

以下は、アクティビティから 30 日以内に新しい契約を結んだすべてのアカウントを検索します。

SELECT * FROM activities AS A WHERE AccountID IN (SELECT DISTINCT(AccountID) from contracts WHERE ContractStartDate >= A.ActivityDate AND ContractStartDate <= DATE_ADD(A.ActivityDate, INTERVAL DAY 30))
于 2013-06-04T18:13:06.763 に答える