首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从SQL创建Par1 x par2 UI表视图(par1、Par2、value)

从SQL创建Par1 x par2 UI表视图(par1、Par2、value)
EN

Stack Overflow用户
提问于 2020-01-16 11:12:18
回答 1查看 45关注 0票数 1

如何在SQL (,par2,value)之外创建Par1 x Par2表输出(以便您可以以友好和感性的方式将其呈现给用户)。示例:

我没有太多的代码,也没有任何值得展示的地方,我认为有一种标准的方法。我开始尝试生成行标题,并使用一个UNION窗口函数添加WITH,但是马上就开始挣扎了。

测试数据样本:

代码语言:javascript
复制
CREATE TABLE TestTable(
    [Par1] [int] NULL,
    [Par2] [int] NULL,
    [Val] [int] NULL
) ON [PRIMARY]
GO

INSERT INTO TestTable (Par1, Par2, Val)
VALUES
    (1, 20  , 104),
    (1, 40  , 105),
    (1, 60  , 110),
    (1, 80  , 115),
    (1, 100 , 148),
    (1, 120 , 150),
    (2, 20  , 162),
    (2, 40  , 163),
    (2, 60  , 174),
    (2, 80  , 188),
    (2, 100 , 192),
    (2, 120 , 196),
    (3, 20  , 200),
    (3, 40  , 217),
    (3, 60  , 231),
    (3, 80  , 255),
    (3, 100 , 279),
    (3, 120 , 283),
    (4, 20  , 284),
    (4, 40  , 284),
    (4, 60  , 286),
    (4, 80  , 288),
    (4, 100 , 297),
    (4, 120 , 300),
    (5, 20  , 303),
    (5, 40  , 305),
    (5, 60  , 307),
    (5, 80  , 325),
    (5, 100 , 337),
    (5, 120 , 349)

旁注:我肯定这是必须要回答之前,但我不能谷歌任何相关的答案。搜索像“创建表视图”这样的字符串会得到完全无关的结果.-)。如果是我找不到正确的措辞,我很抱歉。

EN

回答 1

Stack Overflow用户

发布于 2020-01-16 11:22:33

您需要有条件的聚合:

代码语言:javascript
复制
SELECT Par1, 
       SUM(CASE WHEN Par2 = 20 THEN Val ELSE 0 END) AS 20_Val,
       . . .
       SUM(CASE WHEN Par2 = 120 THEN Val ELSE 0 END) AS 120_Val
FROM TestTable tt
GROUP BY Par1;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59768418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档