首页 > 解决方案 > 如何将多个不同的查询合并到一个查询中以查看多行中的输出

问题描述

现在我有多个不同的查询,它们给出了各自的结果..但我想运行一个查询来获得多行中的所有这些输出..

前任:

select count(distinct message_id)
from dssam.message_metadata
where object_id > 1177 AND workflow_type='3';   --- This gives o/p - 24

select count(distinct message_id)
from dssam.message_metadata
where object_id > 1177 AND workflow_type='4'; --- This gives o/p - 40

select count(distinct message_id)
from dssam.message_metadata
where object_id > 1177 AND flagged='true';--- This gives o/p - 6

但我正在寻找的是.. o/p 应该如下:

 [workflow_type  count
==============   ====
3                 24
4                 40
true               6][1]

有人可以帮我解决这个问题吗?

标签: sqlsql-server

解决方案


您可以UNION ALL对列使用和文字workflow_type

SELECT '3' workflow_type,
       count(DISTINCT message_id) count
       FROM dssam.message_metadata
       WHERE object_id > 1177
             AND workflow_type = '3'
UNION ALL
SELECT '4' workflow_type,
       count(DISTINCT message_id) count
       FROM dssam.message_metadata
       WHERE object_id > 1177
             AND workflow_type = '4'
UNION ALL
SELECT 'true' workflow_type,
       count(DISTINCT message_id) count
       FROM dssam.message_metadata
       WHERE object_id > 1177
             AND flagged = 'true';

推荐阅读