1
2つのテーブルを持つデータベースがあり、各アイテムの最新コストを返すための簡単なクエリを作成しようとしています。MS最近の日付のみを選択するクエリにアクセスする
サンプル:
ID、名前、費用、効力発生日
1 ...アイテム1 ... 5 ... 7/1/16
2 ...アイテム1 ... 4 ... 6/1/16
3 ...アイテム2 ... 6 ... 8/1/16
4 ...アイテム1 ... 2 ... 9/1/16
3行目(Item2)と4行目(Item1の最新)のみを返します。
アクセスインターフェイスを使用すると、私はコストをまったく含まない場合にのみ機能するようになりましたが、Access freaking outなしでGROUP BY
行からコストを削除することはできません。どんな助けもありがとう!
SQLビュー:
SELECT Item.Item_ID, Item.Item_Name, Rate_Changes.Cost, Max(Rate_Changes.Effective_Date) As MaxOfEffective_Date
FROM Item INNER JOIN Rate_Changes ON Item.Item_ID = Rate_Changes.Item_ID
WHERE Item.Active=True
GROUP BY Item.Item_ID, Item.Active, Item.Item_Name,
Rate_Changes.Cost, Rate_Changes.Effective_Date
私の限られたサンプルデータから正常に動作します、ありがとう!私は、特定のアイテムの有効期限が重複してはならないと確信しています。これを強制する方法はありますか?私はアクセスするのが事実上全く新しいので、私はまだコマンドについてぼやけている。 – rgdhndho
@ rgdhndho。 。 。 'id'が日付と共に増加するならば、' effective_date'の代わりに 'id'を使うことができます。 –
IDはプライマリキーなので、ユニークです。私はあなたがどういう意味かはっきりしていません。私は各商品IDの最新の価格(最大有効日)を表示するようにしたいと思います。 ID(Rate_Changeテーブルの主キー)をグループ化するためにどのように使用できますか?私はあなたの代わりのコードを試して、クエリが多くても1つの結果を返すという警告で終わった。私はちょうど代わりに
Order By rc.Item_ID
を投げた、それは私が言うことができるものからうまく動作しています。提案していただきありがとうございます! – rgdhndho