我正在尝试在 DB2 中查询以下内容。T28、T29 和 T30 是表名。它们将文件名作为列在所有表中。我必须按文件名查找所有三个表中的文件名计数。你能帮我吗?
好吧,我正在 DB2 中尝试这个。
我正在寻找这样的输出。
文件名 T28COUNT T29COUNT T30COUNT
尝试
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 的工作原理几乎相同。