Microsoft Access 掲示板

同じ内容のフィールド列に別々の結果を表示したい&数値がゼロ0の列は非表示にしたい / 7

11 コメント
views
4 フォロー
7
mayu 2020/02/21 (金) 15:03:45 修正 a3615@61ad5

( 続き )

次に、勘定科目コード、種別、金額 の抽出条件全てを満たす
レコードを表示するためのクエリを作ります。
( SQLの結果に Q_表示対象 という名前を付けて保存します )

SELECT y.種別
     , x.勘定科目コード
     , x.勘定科目
     , x.[金額(資産)] As cost
     , x.[金額(負債)] As revenue
FROM 貸借対照表 x
   , T_条件     y
WHERE x.勘定科目コード Between y.コードfrom And y.コードto
  AND y.種別 Between 0 And 1
  AND Abs( x.[金額(資産)] ) > 0 ;

 

種別勘定科目コード勘定科目costrevenue
010018100-8100
018911200-1200
01999500000-500000
12000-120000120000
128887000-7000
13001-1000010000
090023200-3200
0900415000-15000

 
■ 仕上げのSQL

SELECT Max( IIf( q.種別 = 0, q.勘定科目コード ) )  As ex1
     , Max( IIf( q.種別 = 0, q.勘定科目 ) )        As ex2
     , Max( IIf( q.種別 = 0, q.cost ) )            As 金額_資産
     , Max( IIf( q.種別 = 1, q.勘定科目コード ) )  As 勘定科目コード
     , Max( IIf( q.種別 = 1, q.勘定科目 ) )        As 勘定科目
     , Max( IIf( q.種別 = 1, q.revenue ) )         As 金額_負債
FROM 
(
    SELECT x.種別
         , x.勘定科目コード
         , x.勘定科目
         , x.cost
         , x.revenue
         , Count(1) As gnum
    FROM Q_表示対象 x
       , Q_表示対象 y
    WHERE x.種別 = y.種別
      AND x.勘定科目コード >= y.勘定科目コード
    GROUP BY x.種別
           , x.勘定科目コード
           , x.勘定科目
           , x.cost
           , x.revenue
) q
GROUP BY gnum
ORDER BY gnum ;

 
■ 結果

ex1ex2金額_資産勘定科目コード勘定科目金額_負債
100181002000120000
189112002888-7000
1999500000300110000
90023200
900415000
通報 ...