멀티 플랫폼 게임 찾기 : solvesql

오유찬·2026년 1월 28일

SQL

목록 보기
61/70
-- games 테이블 : 이름 같고 플랫폼 값이 다른 레코드가 여러개 있는 형태로 저장
-- 조건 01. 2012년 이후
-- 조건 02. 둘 이상의 메이저 플랫폼 계열에 출시(Sony, Nintendo, Mircrosoft)

WITH p AS (
  SELECT  platform_id,
          CASE WHEN name IN ('PS3', 'PS4', 'PSP', 'PSV') THEN 'Sony'
          WHEN name IN ('Wii', 'WiiU', 'DS', '3DS') THEN 'Nintendo'
          WHEN name IN ('X360', 'XONE') THEN 'Microsoft' END as platform
  FROM    platforms
  WHERE   (CASE WHEN name IN ('PS3', 'PS4', 'PSP', 'PSV') THEN 'Sony'
          WHEN name IN ('Wii', 'WiiU', 'DS', '3DS') THEN 'Nintendo'
          WHEN name IN ('X360', 'XONE') THEN 'Microsoft' END) IS NOT NULL
)

-- select * from p

SELECT  DISTINCT g.name
FROM    games g INNER JOIN  p
        ON g.platform_id = p.platform_id
WHERE   g.year >= 2012 
GROUP BY
        g.name
HAVING
        COUNT(DISTINCT p.platform) > 1
profile
열심히 하면 재밌다

0개의 댓글