ソースコード
/*
SELECT
    EMP_CODE AS CODE
    , EMP_LAST_NAME AS SURNAME
    , EMP_FIRST_NAME AS NAME 
FROM
    EMP 
WHERE
    VALID_FLG = '1' 
   -- 社員姓、社員名の半角スペースを空文字に置き換えて比較 
    AND REPLACE (EMP_LAST_NAME || EMP_FIRST_NAME, ' ', '') IN ( 
        -- 副問合せで同姓同名が2件以上存在するデータを抽出
        SELECT
            REPLACE (EMP_LAST_NAME || EMP_FIRST_NAME, ' ', '') AS EMP_NAME 
        FROM
            EMP 
        WHERE
            VALID_FLG = '1' 
        GROUP BY
            EMP_NAME 
        HAVING
            COUNT(*) >= 2
    ) 
ORDER BY
    REPLACE (EMP_LAST_NAME || EMP_FIRST_NAME, ' ', '') ASC
    , EMP_CODE ASC;
*/
    
WITH temp AS (
    SELECT
        -- REPLACE(emp_last_name, ' ', '') AS emp_last_name
        -- , REPLACE(emp_first_name, ' ', '') AS emp_first_name
        REPLACE(emp_last_name, ' ', '') || REPLACE(emp_first_name, ' ', '') AS emp_name
    FROM
        emp
    WHERE
        valid_flg = '1'
    GROUP BY
        REPLACE(emp_last_name, ' ', '') || REPLACE(emp_first_name, ' ', '')
    HAVING
        COUNT(1) >= 2
)
SELECT
    emp.emp_code AS CODE
    , emp.emp_last_name AS SURNAME
    , emp.emp_first_name AS NAME
FROM
    emp
    INNER JOIN 
        temp
        ON REPLACE(emp.emp_last_name || emp.emp_first_name, ' ', '') = temp.emp_name--temp.emp_last_name || temp.emp_first_name
WHERE
    valid_flg = '1'
ORDER BY
    REPLACE(emp.emp_last_name || emp.emp_first_name, ' ', '') ASC
    , emp.emp_code ASC
提出情報
提出日時2023/02/24 09:08:37
コンテスト第5回 SQLコンテスト
問題同姓同名抽出
受験者blue1126
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量78 MB
メッセージ
テストケース(通過数/総数)
3/3
状態
メモリ使用量
データパターン1
AC
78 MB
データパターン2
AC
77 MB
データパターン3
AC
78 MB