現在、この形式のテーブルがあります
id | year | jan | feb | mar | apr | may | jun | jul | aug | sep | oct | nov | dec
A 2001 0.00 1.00 0.00 0.00 1.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00
A 2003 0.00 1.00 0.00 0.00 1.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00
A 2005 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 3.00 0.00 0.00 0.00
私が得ようとしている結果はそのようなものです
id | firstyear | lastyear | lastpaidamount
A 2001 2005 3.00
このコードを使用してみましたが、取得したのは lastpaidamount の NULL だけでした
SELECT
a.id,
MIN(YEAR) AS firstyear,
MAX(YEAR) AS lastyear,
b.lastpaidadmount
FROM
table1 a
LEFT JOIN
(SELECT
id,
CASE
WHEN dec > 0
THEN dec
WHEN nov > 0
THEN nov
WHEN oct > 0
THEN oct
WHEN sep > 0
THEN sep
WHEN aug > 0
THEN aug
WHEN jul > 0
THEN jul
WHEN jun > 0
THEN jun
WHEN may > 0
THEN may
WHEN apr > 0
THEN apr
WHEN mar > 0
THEN mar
WHEN feb > 0
THEN feb
WHEN jan > 0
THEN jan
END AS lastpaidamount
FROM
table1
WHERE YEAR = 'a.lastyear'
GROUP BY id) b
ON a.id = b.id
WHERE jan > 0
OR feb > 0
OR mar > 0
OR apr > 0
OR may > 0
OR jun > 0
OR jul > 0
OR aug > 0
OR aug > 0
OR sep > 0
OR oct > 0
OR nov > 0
OR dec > 0
GROUP BY id ;
ここで何か助けていただければ幸いです、ありがとう!