-1

DB2で次のクエリを実行しようとしています。T28、T29、T30 はテーブル名です。すべてのテーブルにある列としてファイル名があります。ファイル名でグループ化された3つのテーブルすべてでファイル名の数を見つける必要があります。手伝ってくれますか?

さて、私はDB2でこれを試しています。

このような出力を探しています。

ファイル名 T28COUNT T29COUNT T30COUNT
4

1 に答える 1

0

試す

SELECT filename, 
       SUM(CASE WHEN t = 28 THEN 1 ELSE 0 END) t28count,
       SUM(CASE WHEN t = 29 THEN 1 ELSE 0 END) t29count,
       SUM(CASE WHEN t = 30 THEN 1 ELSE 0 END) t30count
  FROM
(
  SELECT 28 AS t, filename
    FROM t28
   UNION ALL
  SELECT 29 AS t, filename
    FROM t29
   UNION ALL
  SELECT 30 AS t, filename
    FROM t30
) q
 GROUP BY filename
 ORDER BY filename

これは SQL Server 用の SQLFiddleデモですが、DB2 でもほぼ同じように動作するはずです。

于 2013-08-01T23:40:39.057 に答える