1
の最大を返す私はそうのような次のテーブルがあるとします。SQL Serverの:グループ
Parent_Company Child_Company Requested Authorized Char1 Char2
------------------------------------------------------------------------
Fruits Apples $1000 $1000 A 10
Fruits Apples $10000 $5000 E 10
Fruits Apples $7000 $7000 C 15
Fruits Pears $1000 $0 B 20
Fruits Grapes $1000 $200 A 10
Vegetables Celery $500 $500 D 17
Vegetables Celery $1000 $1000 A 10
Vegetables Lettuce $1000 $1000 A 10
Vegetables Lettuce $2000 $0 B 12
私は私のクエリが返すようにしたい:
Parent_Company Child_Company Requested Authorized Char1 Char2
------------------------------------------------------------------------
Fruits Apples $7000 $7000 C 15
Fruits Pears $1000 $0 B 20
Fruits Grapes $1000 $200 A 10
Vegetables Celery $1000 $1000 A 10
Vegetables Lettuce $1000 $1000 A 10
ここでロジックが異なるに基づいていることです親/子の組み合わせは、私はそれが最高のAuthorized
量を持つ行を返すようにしたいです。
SELECT
Parent_company, Child_Company, Char1, Char2, Requested,
Max(Authorized)
FROM
Food
GROUP BY
Parent_Company, Child_Company, Char1, Char2, Requested
しかし、それは本当に私がCHAR1、CHAR2以降に望むように働いていないし、要求された金額が変更されています
頭に浮かんだ最初に考えたのは、私は単に、クエリによって最大+グループを使用することができるということです。
私の限られた知識のSQL Serverから、私はおそらくPARTITION BYで何かを使うことができると思いますが、これでどのように接近するのか本当に分かりません。
助けていただければ幸いです。