2017-10-16 12 views
-1

これは、我々は二つのデータセットを持って仕事SQL最後の贈り物は10年前に

で自分自身にSQLを教え、すべて間違っている場合はごめんなさいでしたEntityDetは人々のすべての生体情報を持ち、GiftDetはそれらの人々のすべてのギフト情報を持っています。

私はDate_of_recordレコード用にギフトの日付スタンプを持つgiftDetでの場所です。今日から10年前の最後の贈り物を持っていたentitydetから人2017年10月10日

誰を集約したいですどちらもそれらを接続するID番号があります。ここで

は私が考えていたが、それはあなたがこれを試すことができます

select ID_NUMBER 
from ENTITYDET_NYU_T a. 
select *from GIFTDET b. 
max date_of_record b. 
where date of record <=2008.10.16 b. 
select date_of_record 
slext max (date of record)) 
where a.id_number = b.id_number 
+3

まず、使用しているRDBMSを特定します。それでは、[私は非常に単純なSQLクエリと思われるものに対してMCVEを提供するのはなぜですか?](https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve私にとっては非常にシンプルなSQLクエリ) – Strawberry

答えて

0

が動作していないものです。

SELECT * 
FROM EntityDet 
WHERE 
    id_number IN (SELECT a.id_number 
        FROM EntityDet a 
         INNER JOIN GiftDet b ON a.id_number = b.id_number 
        GROUP BY a.id_number 
        HAVING MAX([date of record]) < '20071010') 
+0

ありがとうSarslan ... Entitydetテーブルから以下の列を追加したい場合は、単にaを追加しますか?次いで、列名は....例えばSELECT a.id_number、a.Record_status_Desc、a.Pref_name EntityDet FROM INNERはMAXをHAVING a.id_number (BY a.id_number = b.id_number 基上GiftDet bをJOIN [レコードの日付])<'20071010' – Alex

+0

あなたはいくつの列を持っていますか? 1つまたは2つの場合は、この列のGROUP BYおよびSELECTの一部をクエリに追加できます。それが多すぎる場合は、このクエリをサブクエリに変換して、EntityDetテーブルに再度参加することをお勧めします。 –

+0

HI!私はEntityDetテーブルから17個のカラムを持っています。あなたは何を意味するのですか?「Select a.id_number、a.pref_name ....などのグループ」でコードを開始するのはどういう意味ですか? – Alex

関連する問題