【发布时间】:2021-07-24 00:41:04
【问题描述】:
我有一个包含 12,000 行数据的表。该表由 7 列数据(PIDA、NIDA、SIDA、IIPA、RPRP、IORS、DDSN)组成,每列有 4 种条目类型(“支持”、“不支持”、“未编目”或“NULL”条目)
+--------------+-----------+--------------+-----------+
| PIDA | NIDA | SIDA | IIPA |
+--------------+-----------+--------------+-----------+
| Null | Supported | Null | Null |
| Uncatalogued | Supported | Null | Null |
| Supported | Supported | Uncatalogued | Supported |
| Supported | Null | Uncatalogued | Null |
+--------------+-----------+--------------+-----------+
我想生成一个输出,其中每个条目都针对每一列进行计数。喜欢列到行的转置。
+---------------+------+------+------+------+
| Categories | PIDA | NIDA | SIDA | IIPA |
+---------------+------+------+------+------+
| Supported | 10 | 20 | 50 | 1 |
| Non Supported | 30 | 50 | 22 | 5 |
| Uncatalogued | 5 | 10 | 22 | 22 |
| NULL | 10 | 11 | 22 | 22 |
+---------------+------+------+------+------+
内联选择或案例语句没有任何运气。我感觉两者都需要先计数,然后将每个列为输出中的行
谢谢大家,
【问题讨论】:
-
听起来你需要
PIVOT。 THIS 给你一个起点吗?
标签: sql sql-server select count transpose