ソースコード
WITH RecentCheckups AS (
    SELECT 
        MEMBER_CODE,
        CHECKUP_DATE,
        WEIGHT,
        ROW_NUMBER() OVER(PARTITION BY MEMBER_CODE ORDER BY CHECKUP_DATE DESC) AS rn
    FROM 
        HEALTH_CHECKUP
),
LastTwoCheckups AS (
    SELECT 
        r1.MEMBER_CODE,
        r1.CHECKUP_DATE AS CK_DATE,
        r1.WEIGHT AS CURRENT_WEIGHT,
        r2.WEIGHT AS PREVIOUS_WEIGHT,
        r1.WEIGHT - r2.WEIGHT AS CHG_WT
    FROM 
        RecentCheckups r1
    JOIN 
        RecentCheckups r2 
    ON 
        r1.MEMBER_CODE = r2.MEMBER_CODE 
    AND 
        r1.rn = 1 
    AND 
        r2.rn = 2
)
SELECT 
    ltc.CK_DATE,
    ltc.MEMBER_CODE AS CODE,
    CONCAT(m.LAST_NAME, ' ', m.FIRST_NAME) AS NAME,
    CASE 
        WHEN ltc.CHG_WT = FLOOR(ltc.CHG_WT) THEN TO_CHAR(ltc.CHG_WT, 'FM9990')
        ELSE TO_CHAR(ltc.CHG_WT, 'FM9990.0')
    END AS CHG_WT
FROM 
    LastTwoCheckups ltc
JOIN 
    MEMBER_MST m 
ON 
    ltc.MEMBER_CODE = m.MEMBER_CODE
WHERE 
    ABS(ltc.CHG_WT) >= 5
ORDER BY 
    ltc.CHG_WT DESC,
    ltc.MEMBER_CODE DESC;
提出情報
提出日時2024/06/21 12:22:27
コンテスト第13回 SQLコンテスト
問題体重差分
受験者rintaro
状態 (詳細)RE
(Runtime Error: 実行時エラー)
メモリ使用量95 MB
メッセージ
SQLITE_ERROR: no such function: CONCAT
テストケース(通過数/総数)
0/2
状態
メモリ使用量
データパターン1
RE
95 MB
データパターン2
RE
95 MB