IBM大型机论坛索引
 
 登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答  寄存器
 

选择多个常量今天双色球开奖结果


IBM大型机论坛 -> DB2
 发表新话题     回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
姆巴图

新的用户


已加入:2011年1月19日
帖子:13
地点:多伦多

 发布 发表:2021年2月2日星期二上午1:18
引用回复

你好

我有一组必须从表中获取的公司。对于给定的公司,此表可以有多行,单行或无行。因此,要求是如果表中存在数据,则显示公司&计数(行)。如果仍未显示,则公司的计数为0。


例:-
输入给定

AAA1
BBB2
CCC3
DDD4


表中的示例数据说Company_TBL
-------------------------------
Col1 Col2 Col3
AAA1 10 20210101
AAA2 20 20210115
CCC3 11 20210201
DDD4 05 20210201


所需输出:-
-----------------------
AAA1 2
BBB2 0
CCC3 1
DDD4 1


为此,我的方法是编写两个子查询,第一个子查询从COMPANY_TBL获取详细信息,另一个是将所有公司声明为值为零的常量。两者都执行UNION。

这个解决方案的问题是我不确定PostgreSQL以下的DB2等效版本。我可以使用SYSIBM.SYSDUMMY1为每个公司今天双色球开奖结果编写单行常量,但是我想知道是否还有更好的方法。

码:
选择   *
   FROM   ( VALUES
                             ('AAA1', 0),
                             ('BBB2', 0),
                             ('CCC3', 0),
                             ('DDD4', 0)
               ) AS TEMP_TBL (COL1, COL2 )
;



以下是我正在考虑的完整查询

码:
选择   COL1
             ,SUM(COL2)
   FROM  (
                选择  1号
                            ,计数 (COL1)
                   FROM  COMPANY_TBL
                  WHERE  1号    IN  ('AAA1','BBB2','CCC3','DDD4')
                  通过...分组   1号

                 UNION
 
                 SELECT   *
                   FROM   ( VALUES
                                            ('AAA1', 0),
                                            ('BBB2', 0),
                                            ('CCC3', 0),
                                            ('DDD4', 0)
                                ) AS TEMP_TBL (COL1, COL2                
               )
通过...分组    COL1

;
回到顶部
查看用户资料 发送私信
罗希特·乌马尔吉卡(Rohit Umarjikar)

全球主持人


已加入:2010年9月21日
帖子:2582
地点:美国纽约

 发布 发表:2021年2月2日星期二4:07上午
引用回复

您是如何获得AAA1 2的?其次,什么是输入,它总是恒定的吗?

您可以对Company_TBL进行左连接(通过在where中添加这些硬编码的值),然后对主SELECT进行分组依据和计数(*),确保将NULL处理为0。
回到顶部
查看用户资料 发送私信
姆巴图

新的用户


已加入:2011年1月19日
帖子:13
地点:多伦多

 发布 发表:2021年2月2日星期二4:40上午
引用回复

罗希特·乌马尔吉卡(Rohit Umarjikar)写道:
您是如何获得AAA1 2的?其次,什么是输入,它总是恒定的吗?

感谢您的答复。

抱歉,我输入了错误的COMPANY_TBL数据,现在已更正。是的,输入的公司清单是恒定的。

码:
Col1    Col2   Col3
AAA1    10     20210101
AAA1    20     20210115
CCC3    11     20210201
DDD4    05     20210201



罗希特·乌马尔吉卡(Rohit Umarjikar)写道:
您可以对Company_TBL进行左连接(通过在where中添加这些硬编码的值),然后对主SELECT进行分组依据和计数(*),确保将NULL处理为0。

我没有得到这部分。如何通过在条件部分(WHERE)中添加这些硬编码的值到资源部分。

现在我以这种方式感觉不好

码:
选择   COL1
        ,和 (COL2)
   FROM  (
                选择  1号
                       ,COUNT(COL1)
                   FROM  COMPANY_TBL
                  WHERE  1号    IN  ('AAA1','BBB2','CCC3','DDD4')
                  通过...分组   1号

                 UNION
 
                 SELECT   'AAA1', 0   从SYSIBM.SYSDUMMY1

                 UNION

                 SELECT   'BBB2', 0   从SYSIBM.SYSDUMMY1   

                 UNION

                 SELECT   'CCC3', 0   从SYSIBM.SYSDUMMY1   

                 UNION

                 SELECT   'DDD4', 0   从SYSIBM.SYSDUMMY1   
                   
               )
通过...分组    COL1

;
回到顶部
查看用户资料 发送私信
罗希特·乌马尔吉卡(Rohit Umarjikar)

全球主持人


已加入:2010年9月21日
帖子:2582
地点:美国纽约

 发布 发表:2021年2月2日星期二11:15 pm
引用回复

码:
 SELECT COMPANY_TBL.col1,计数(*) 从                 
(从SYSIBM.SYSDUMMY1选择'AAA1'作为col1,10,'20210101'
 UNION
 从SYSIBM.SYSDUMMY1选择'AAA1'作为col1,20,'20210115'
 UNION
 从SYSIBM.SYSDUMMY1选择'CCC3'作为col1,11,'20210201'
 UNION
 从SYSIBM.SYSDUMMY1选择'DDD4'作为col1,05,'20210201') COMPANY_TBL
 GROUP BY COMPANY_TBL.col1 
 UNION
 SELECT static_tbl.col1,0 从
                   (SELECT   'AAA1' as col1 从SYSIBM.SYSDUMMY1
                    联盟
                    选择   'BBB2'as col1 从SYSIBM.SYSDUMMY1   
                    联盟
                    选择   'CCC3'as col1 从SYSIBM.SYSDUMMY1   
                    联盟
                    选择   'DDD4'as col1 从SYSIBM.SYSDUMMY1) static_tbl 
  WHERE NOT EXISTS (
  ( 选择 1 从                             
     (从SYSIBM.SYSDUMMY1选择'AAA1'作为col1,10,'20210101'
      联盟
     从SYSIBM.SYSDUMMY1选择'AAA1'作为col1,20,'20210115'
      联盟
     从SYSIBM.SYSDUMMY1选择'CCC3'作为col1,11,'20210201'
      联盟
     从SYSIBM.SYSDUMMY1选择'DDD4'作为col1,05,'20210201') COMPANY_TBL1
      where static_tbl.col1 = COMPANY_TBL1.col1
  ) 
                   ) 
  ORDER BY 1,2

输出:
码:
 COL1 2
 ---- -
 AAA1 2
 BBB2 0
 CCC3 1
 DDD4 1
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
 发表新话题     回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> DB2

 


类似主题
话题 论坛 回覆
该主题已锁定:您无法编辑帖子或回复。 将匹配的今天双色球开奖结果写入输出文件 DFSORT / ICETOOL 11
 没有新帖 合并两个以上的今天双色球开奖结果 DFSORT / ICETOOL 15
 没有新帖 包括cond ascii常数 DFSORT / ICETOOL 4
 没有新帖 匹配和不匹配今天双色球开奖结果使用 DFSORT / ICETOOL 11
 没有新帖 删除基于S ...的重复今天双色球开奖结果 DFSORT / ICETOOL 4
搜索我们的论坛:


 回到顶部