2012-04-18 5 views
0

私はBCSと呼ばれるテーブルと、名前付きHPTSとTeamを使用する必要がある2つのカラムを持っています。私は、HPTSの中で最も低いチームのチーム名を列記する必要があります。MIN()に関するSQLクエリと行から別の値を返す

私は、次のされてきたものを現在

を(この問題あれば、私はAccessでこれをやっている):

SELECT TEAM, MIN(HPTS) 
FROM BCS 
GROUP BY Team 

これは私のHTPS列の各チームの最小値を与えているが、いずれにしても、その列にチームごとに1つの価値しかないので、これは私には役に立たない情報です。

SELECT MIN(HPTS) 
FROM BCS 

が、私は同様にチーム名を持っている必要があります:

は、私はちょうど使用することにより、対応するチームなしの最小値を取得することができています。これに関する助けがあれば大いに感謝します。私はそれがJOIN機能を使用することと関係があるかもしれないと思うが、私は確信していない。

+0

結婚の場合はどうすればよいですか? –

答えて

0

HPTSが最低で注文して1行に制限するのはどうでしょうか?

SELECT TEAM, HPTS FROM BCS order by HPTS LIMIT 1 
+0

これはMySQLの構文です。 AFAIK Accessは、SQL ServerのようなSELECT TOP N構文を使用します。 – g13n

0

私はこれを試してみたが、あなたはここでサブクエリを使用する必要があり、次の

SELECT TEAM FROM BCS where HPTS = (SELECT MIN(HPTS) FROM BCS) 
1

を試してみてくださいしていません。

TSQLで
SELECT * FROM BCS WHERE HPTS IN (SELECT MIN(HPTS) FROM BCS) 
2

、と私はアクセス/ジェットを信じて、あまりにも、あなたは限り、あなたはまた、「トップ」に実際に何があるかを判断するためにORDER BYを使用するとTOP N句を使用することができます。あなたはそれを残すことができますので、ASCENDINGがデフォルトですが、私は普通にそれを置くことにTOPを使用しているとき、それはとても重要だ

SELECT TOP 1 Team, HPTS FROM BCS ORDER BY HPTS ASCENDING 

そして素晴らしい世界へようこそ:それはおそらく、他の人が言及したサブクエリよりも効率的です。 o 'SQL!

+1

JETでは、複数のレコードを返す可能性があることに注意してください。 –

+0

単一の結果が必要で、一致する結果があることに気にしない場合は、 'HPTS、AnyUniqueFieldInTheTable'で注文できます – Fionnuala

関連する問題