mayu
2020/01/24 (金) 15:00:34
9b175@61ad5
どのようにすればいいか教えて頂きたくお願い致します。
3パターンの SQL を載せておきます。
■ 集計クエリ
SELECT Max( IIf( q.勘定科目コード < 5000, q.勘定科目コード ) ) As ex1
, Max( IIf( q.勘定科目コード < 5000, q.勘定科目 ) ) As ex2
, Max( IIf( q.勘定科目コード < 5000, q.[金額(費用)] ) ) As 金額_費用
, Max( IIf( q.勘定科目コード > 4999, q.勘定科目コード ) ) As 勘定科目コード
, Max( IIf( q.勘定科目コード > 4999, q.勘定科目 ) ) As 勘定科目
, Max( IIf( q.勘定科目コード > 4999, q.[金額(収益)] ) ) As 金額_収益
FROM 損益計算書 q
WHERE q.勘定科目コード Between 4000 And 5999
GROUP BY q.勘定科目コード - IIf( q.勘定科目コード < 5000, 0, 1000 )
ORDER BY q.勘定科目コード - IIf( q.勘定科目コード < 5000, 0, 1000 ) ;
■ 自己結合
SELECT x.勘定科目コード As ex1
, x.勘定科目 As ex2
, x.[金額(費用)] As 金額_費用
, y.勘定科目コード
, y.勘定科目
, y.[金額(収益)] As 金額_収益
FROM 損益計算書 x
LEFT JOIN 損益計算書 y
ON
(
( x.勘定科目コード Between 4000 And 4999 )
AND
x.勘定科目コード = y.勘定科目コード - 1000
)
ORDER BY x.勘定科目コード ;
■ 完全外部結合
SELECT y.勘定科目コード As ex1
, y.勘定科目 As ex2
, y.[金額(費用)] As 金額_費用
, z.勘定科目コード
, z.勘定科目
, z.[金額(収益)] As 金額_収益
FROM
(
(
SELECT 勘定科目コード
FROM 損益計算書
WHERE 勘定科目コード Between 4000 And 4999
UNION
SELECT 勘定科目コード - 1000
FROM 損益計算書
WHERE 勘定科目コード Between 5000 And 5999
) x
LEFT JOIN 損益計算書 y
ON x.勘定科目コード = y.勘定科目コード
)
LEFT JOIN 損益計算書 z
ON x.勘定科目コード = z.勘定科目コード - 1000
ORDER BY x.勘定科目コード ;
通報 ...