2017-05-14 7 views
0

私はこのようなテーブルを持っている:分月と年を選択するにはどうすればいいですか?

cuota_abono(**cod_abono**, **mes**, **anio**, valor, pago_acumulado, estado) 

where: 
-cod_abono: VARCHAR (PK) 
-mes: INT (month -- values from 1 to 12) (PK) 
-anio: INT (year) (PK) 
-valor: DECIMAL(10,2) 
-pago_acumulado: DECIMAL(10,2) 
-estado(TINYINT -- 0 or 1) 

事は、私が最も古い-払っていないcuota_abono(エスタード= 0)を選択する必要があるということです。例えば

:私は最も古いcuota_abonoを探していることを考えると

cod_abono mes anio  valor pago_acumulado estado 
    Z000  9 2015 315.00  100.00   0 
    Z000  5 2016 315.00  315.00   1 
    Z000  6 2016 315.00  200.00   0 
    Z000  7 2016 315.00  0.00   0 
    Z001  5 2016 315.00  0.00   0 
    Z001  6 2016 315.00  315.00   1 

は、私が取得するために探しています:

select cod_abono, min(mes), min(anio), valor, pago_acumulado, estado 
from cuota_abono 
where cod_abono="Z000" and cuota_paga=0 

(Z000, 9, 2015, 315.00, 100.00, 0) --> 1° row 

が、私はこのクエリを使用してみました

しかし、私は得る:

(Z000, *6*, 2015, 315.00, 100.00, 0) 

私は実際にcod_abono = "Z000"とestado = 0の数字のところで最低月を取得しますが、それは正しくありません。

提案がありますか?

+1

タグ唯一のDBMS。 –

答えて

0

使用order bylimit:あなたが実際に使用している

select ca.* 
from cuota_abono ca 
where cod_abono = 'Z000' and cuota_paga = 0 
order by anio, mes 
limit 1; 
+0

はい、私はちょうどこのオプションについて気付きました。ありがとう! –

関連する問題