首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL:合并结果

SQL:合并结果
EN

Stack Overflow用户
提问于 2020-05-19 14:04:51
回答 2查看 34关注 0票数 0

我是SQL方面的一个相对初学者(多次学习和遗忘),完全是自学的,所以请原谅我可能缺乏恰当的术语。我进行了一个查询,该查询提取已返回的项,每个项的行都有一个返回代码。下面是一个结果示例:

在最后报告(用Visual创建)中,我希望能够按返回类型计算返回值,但需要将大约40个返回代码合并为4或5个返回类型组。所以RET_CODE值)和。都是产品质量问题,并将在“产品质量”行中计算。

我需要一些帮助来解决这个问题。

谢谢

安德鲁

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-19 16:41:46

的坏方法!

可以通过使用以下内容在SQL语句中创建分组来做到这一点

代码语言:javascript
运行
复制
SELECT 
        *, 
        CASE 
             WHEN RET_CODE IN ('.', ')') THEN 'Quality Error'
             WHEN RET_CODE IN ('X', 'Y', 'Z') THEN 'Some Other error'
             ELSE [Desc1]
        END AS GroupDescription 
      FROM myTable

这种方法的问题在于,每次您想要类似的东西时,都必须不断地重复它。

更好的选择。(但不是完美的!)

假设你还没有这样的桌子..。

创建一个包含分组的表。将来,当你需要做这样的事情时,你可以使用它。

例如。

代码语言:javascript
运行
复制
CREATE TABLE dbo.MyErrorGroupTable (RET_CODE varchar(10), GroupDescription varchar(50))
INSERT INTO dbo.MyErrorGroupTable VALUES
    ('.', 'Quality Error'),
    (')', 'Quality Error'),
    ('X', 'Some Other Error'),
    ('Y', 'Some Other Error'),
    ('.', 'Some Other Error'),
    ('P', 'UPS Error'),
    ('A', 'PAck/Pick Error')

等等..。

然后,您可以简单地连接到这个表并在报表中使用GroupDescription

例如:

代码语言:javascript
运行
复制
SELECT 
    a.*, b.GroupDescription
    FROM myTable a 
        JOIN MyErrorGroupTable b ON a.RET_CODE = b.RET_CODE

希望这能帮上忙。

票数 0
EN

Stack Overflow用户

发布于 2020-05-19 14:15:08

你要找的是按条款分组的人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61893045

复制
相关文章

相似问题

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