2017-08-04 8 views
-1

私はそれを行うことができますどのように、記録上から最大価格を選択したいセレクトマックス価格

Code Name Customer Price Measure Type Retail Price Measure Type 
D035 ALU 8.00    F    8.00   F 
D035 ALU 9.00    F    NULL   NULL 

以下のように私はレコードを持っていますか?予想記録

Code Name Customer Price Measure Type Retail Price Measure Type 
D035 ALU 9.00    F    8.00   F 

は、私は、メジャーの種類によってグループなしで最大価格を選択して、対策の種類によってグループを選択した結果に参加しようとしたが、予想通り、それはないようです。

+0

ご使用のデータベースで質問にタグを付けてください。 –

答えて

1

ANSI SQL方法はorder byfetch first 1 row only次のようになります。

select t.* 
from t 
order by t.retail_price desc nulls last 
fetch first 1 row only; 

ないすべてのデータベースには、これらの構成をサポートしていますが、一般的に似た何かを行うことができます。

0

I Would Like To Sayあなたの小売価格は小数点以下の値で、それからNULLです。 10進数または数値データ型ではNULL挿入はできません。だから私は仮定している、あなたはそれのvarcharのデータ型を持っています。

また、同じ名前の[Measure Type]の列を2つ使用しています。私はより良い理解のために名前リトルを変更しました。

Select * 
From [YourTableName] 
GROUP By [Code] 
,[Name],[Customer Price], [Measure Type], [Retail Price], [Measrue Type] 
HAVING MAX([Customer Price])=(Select TOP 1 MAX([Customer Price]) From [YourTableName]) 

主キーはありません。だから、私たちはJOINと一緒に行くことはできません。したがって、これはあなたの質問の解決です。