2016-08-23 10 views
1

私は、取引のリストをitemdatetimeQtyで提供するクエリを持っています。Min Maxを使用したSQLクエリの作成

SELECT item_no, trx_dt, trx_tm, quantity 
FROM dbo.Item_Trx_Table 
WHERE item='Item_1' AND [doc_type]<>'w' AND transDate='2016-08-22 00:00:00.000' 

私は各Item、およびDateためMin(trx_tm)Max(trx_tm)Qtyを取得する方法を考え出す助けが必要です。

ガイダンスをいただければ幸いです。

+0

あなたの質問が書かれたとしても意味がありません。あなたのスキーマを理解するのに十分な情報や、あなたがやろうとしていることを十分に理解していない。 – ChrisInEdmonton

+1

SQLのどのバージョン - SQL Server、PostgreSQL、MySQLなど?サンプルのDDLを投稿すると、私たちが助けることのできない最新の情報で完全な画像を得ることができます(すべて推測になります) – user2676140

答えて

0

あなたが望むものは少し不明ですが、たとえば、各アイテムのMAX(trx_tm)を取得したいと思います。その場合は、GROUP BY Itemを使用して、ItemまたはDateのMAXまたはMINを選択します。次に、Qtyを内部結合にします。私は4つの別々のクエリを作成します(MAX Item、Min Item、MAX Date、MIN Date)。ここで

は最初のものである:各項目のMAX(trx_tm)を取得し、発見する個数:

SELECT grp.Item, grp.max_trx_tm, tbl.Qty 
(
    SELECT Item, MAX(trx_tm) AS max_trx_tm 
    FROM dbo.Item_Trx_Table 
    GROUP BY Item 
) AS grp 
INNER JOIN dbo.Item_Trx_Table tbl ON (tbl.Item = grp.Item AND tbl.trx_tm = grp.max_trx_tm) 
WHERE tbl.Item='Item_1' AND tbl.doc_type <> 'w' AND tbl.transDate='2016-08-22 00:00:00.000'