2017-01-24 16 views
2

名前loan_emiのテーブルがあります。私は最後のemi支払い日、最後のemi日付、合計番号を選択します。エミ、いいえ。支払われたエミとノーの未払いのemiのここに私の質問です。複数のサブクエリを簡略化

ただし、複数のサブクエリがあります。簡単にするために私を助けてください。前もって感謝します。

+0

いくつかの最小サンプルデータを含めてください。 –

答えて

3

ケースごとに1つのクエリに入れるだけで、各フィールドにはwhenが入ります。このようにして、問題のID、結合なし、サブクエリなしのすべてのレコードに対して1つのパスになります。また、私はそれを持っているので、おそらく質問の口座のIDを示すあなたのクエリをパラメータ化したいと思います...

SELECT 
     MAX(case when is_paid = 1 then emi_date else null end) as Pay_Date, 
     MAX(case when is_paid = 0 then emi_date else null end) as Last_Date, 
     COUNT(*) as Tenor, 
     SUM(case when is_paid = 1 then 1 else 0 end) as Paid, 
     SUM(case when is_paid = 0 then 1 else 0 end) as Unpaid 
    from 
     loan_emi 
    where 
     id = ?ParameterizeYourIncomingID 
    group by 
     l_id 
+0

実際にOPが望むものかもしれませんが、これは元のクエリAFAIKと同じではありません。 –

+0

@TimBiegeleisen、ありがとう。 "L_ID"列でグループを逃した – DRapp

+0

ありがとう@DRapp!これは私が欲しいものです。 –

関連する問題