2017-03-24 16 views
1

で副選択せずに、条件付き最小、最大を選択:MySQLは、私は、テーブル内のデータのこの種を持っているYii2

id a1 a2 
01 _1 _1 
01 _1 _2 
01 _1 _3 
01 _2 _1 
01 _2 _2 
01 _2 _3 

は分と、このような最高なものを選択することが可能です:

select ... min(a2 where a1=1) 

それをより大きな結合テーブルの一部であり、yii2でsubselectを実装する方法がわからないので、可能であれば、subselectを避ける方法を見つけたいと思います。あなたは私に正しい方向を指してくれますか?どうもありがとう!

+0

あなたのニーズをよりよく説明する必要があります。適切なサンプルと期待される結果を追加してみてください – scaisEdge

答えて

2

簡単な方法は、CASEの使用に基づいているWHEN例えば集計関数(最小/最大...)内部

a_proper_valueはあなたが<> 1 A1の場合にはASSINGする値をある
MIN(CASE WHEN a1 = 1 then a2 else a_proper_value END) 

+0

完璧、ありがとうございます!正確に私が必要としたもの。 – user2511599

関連する問題