ソースコード
WITH 入国者 AS (
	SELECT
		PORT_CODE
		, GROUP_CODE
		, KIND_CODE
		, AMT
	FROM
		IMMIGRATION
	WHERE
		KIND_CODE = '110'
		AND GROUP_CODE = '120'
), 出国者 AS (
	SELECT
		PORT_CODE
		, GROUP_CODE
		, KIND_CODE
		, AMT
	FROM
		IMMIGRATION
	WHERE
		KIND_CODE = '120'
		AND GROUP_CODE = '120'
)
SELECT
	A.PORT_CODE AS 港コード
	, PORT.PORT_NAME AS 港名
	, A.AMT AS 入国者数
	, (SELECT AMT FROM 出国者 B WHERE A.PORT_CODE = B.PORT_CODE AND A.GROUP_CODE = B.GROUP_CODE) AS 出国者数
	, A.AMT - (SELECT AMT FROM 出国者 B WHERE A.PORT_CODE = B.PORT_CODE AND A.GROUP_CODE = B.GROUP_CODE) AS 差分
FROM
	入国者 A
	INNER JOIN
		PORT
		ON A.PORT_CODE = PORT.PORT_CODE
WHERE
	EXISTS(
		SELECT
			*
		FROM
			出国者 B
		WHERE
			A.PORT_CODE = B.PORT_CODE
			AND A.GROUP_CODE = B.GROUP_CODE
			AND B.AMT < A.AMT
	)
ORDER BY
	差分 DESC
	, 港コード DESC
提出情報
提出日時2022/07/20 20:09:10
コンテスト第1回 SQLコンテスト
問題港入出国者分析
受験者taitai
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量103 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
103 MB
データパターン2
AC
103 MB