コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
/*
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