使用UNION运算符组合的所有查询必须具有相同数量的表达式

谦虚

我正在修改其他人的代码以调整所需的输出,但是,当我这样做时,我收到一条错误消息:使用UNION,INTERSECT或EXCEPT运算符组合的所有查询在其目标列表中必须具有相同数量的表达式。

更改前的代码(可以正常运行):

DECLARE @Period CHAR(6)
SELECT  @Period = CONVERT(CHAR(6), GETDATE(),112)


select sum(CORPG) as CORPG, sum(FUNDS) as FUNDS, sum(EUCOM) as EUCOM, sum(INSUR) as INSUR, sum(IPIT) as IPIT, sum(LITGE) as LITGE, sum(FINR) as FINR,
       sum(CNSTR) as CNSTR, sum(PLENV) as PLENV, sum(PLENV) as INSOL, sum(EMPLO) as EMPLO, sum(HELSC) as HELSC, sum(BANKG) as BANKG, sum(CONST) as CONST FROM (
Select TARGETFEESBILLED as CORPG, 0 as FUNDS, 0 as EUCOM, 0 as INSUR, 0 as IPIT, 0 as LITGE, 0 as FINR,
       0 as CNSTR, 0 as PLENV, 0 as INSOL, 0 as EMPLO, 0 as HELSC, 0 as BANKG, 0 as CONST
from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'FUNDS' AND PERIOD=@PERIOD 
UNION
Select 0,TARGETFEESBILLED,0,0,0,0,0,0,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'EUCOM' and PERIOD=@PERIOD UNION
Select 0,0,TARGETFEESBILLED,0,0,0,0,0,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'EUCOM' and PERIOD=@PERIOD UNION
Select 0,0,0,TARGETFEESBILLED,0,0,0,0,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'INSUR' and PERIOD=@PERIOD UNION
Select 0,0,0,0,TARGETFEESBILLED,0,0,0,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'IPIT'  and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,TARGETFEESBILLED,0,0,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'LITGE' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,TARGETFEESBILLED,0,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'FINR'  and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,TARGETFEESBILLED,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'CNSTR' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,0,TARGETFEESBILLED,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'PLENV' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,0,0,TARGETFEESBILLED,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'INSOL' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,0,0,0,TARGETFEESBILLED,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'EMPLO' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,0,0,0,0,TARGETFEESBILLED,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'HELSC' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,0,0,0,0,0,TARGETFEESBILLED,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'BANKG' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,0,0,0,0,0,0,TARGETFEESBILLED from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'CONST' and PERIOD=@PERIOD ) Rollup

这是更改后的代码(将不起作用):

DECLARE @Period CHAR(6)
SELECT  @Period = CONVERT(CHAR(6), GETDATE(),112)


select sum(CORPG) as CORPG, sum(FUNDS) as FUNDS, sum(EUCOM) as EUCOM, sum(INSUR) as INSUR, sum(IPIT) as IPIT, sum(LITGE) as LITGE, sum(FINR) as FINR,
       sum(CNSTR) as CNSTR, sum(PLENV) as PLENV, sum(PLENV) as INSOL, sum(EMPLO) as EMPLO, sum(HELSC) as HELSC, sum(BANKG) as BANKG, sum(CONST) as CONST, sum(COEN) as COEN, sum(CLIM) as CLIM FROM (
Select TARGETFEESBILLED as CORPG, 0 as FUNDS, 0 as EUCOM, 0 as INSUR, 0 as IPIT, 0 as LITGE, 0 as FINR,
       0 as CNSTR, 0 as PLENV, 0 as INSOL, 0 as EMPLO, 0 as HELSC, 0 as BANKG, 0 as CONST, 0 as COEN, 0 as CLIM
from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'FUNDS' AND PERIOD=@PERIOD 
UNION
Select 0,TARGETFEESBILLED,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'EUCOM' and PERIOD=@PERIOD UNION
Select 0,0,TARGETFEESBILLED,0,0,0,0,0,0,0,0,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'EUCOM' and PERIOD=@PERIOD UNION
Select 0,0,0,TARGETFEESBILLED,0,0,0,0,0,0,0,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'INSUR' and PERIOD=@PERIOD UNION
Select 0,0,0,0,TARGETFEESBILLED,0,0,0,0,0,0,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'IPIT'  and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,TARGETFEESBILLED,0,0,0,0,0,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'LITGE' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,TARGETFEESBILLED,0,0,0,0,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'FINR'  and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,TARGETFEESBILLED,0,0,0,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'CNSTR' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,0,TARGETFEESBILLED,0,0,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'PLENV' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,0,0,TARGETFEESBILLED,0,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'INSOL' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,0,0,0,TARGETFEESBILLED,0,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'EMPLO' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,0,0,0,0,TARGETFEESBILLED,0,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'HELSC' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,0,0,0,0,0,TARGETFEESBILLED,0,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'BANKG' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,0,0,0,0,0,0,TARGETFEESBILLED,0,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'CONST' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,0,0,0,0,0,0,0,TARGETFEESBILLED,0,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'CONST' and PERIOD=@PERIOD UNION
Select 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,TARGETFEESBILLED,0 from _ALG_TARGETFEESBILLED_PG where GROUP_CODE = 'CONST' and PERIOD=@PERIOD ) Rollup

一些指导表示赞赏。联合建议目标列表中没有足够的表达,但据我所知。

谢谢

拉卡

在下面的查询中,列数为16。选择TARGETFEESBILLED作为CORPG,0作为EUCOM,0作为EUUR,0作为IPIT,0作为LITGE,0作为FINR,0作为CNSTR,0作为PLENV,0作为INSOL,0表示为EMPLO,0表示HELSC,0表示BANKG,0表示CONST,0表示COEN,0表示CLIM ...

但是其他带有联合的查询有17列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误:所有使用UNION,INTERSECT或EXCEPT运算符组合的查询在其目标列表中必须具有相同数量的表达式

来自分类Dev

正则表达式是否可以匹配`|`运算符中所有令牌组合

来自分类Dev

使用所有格正则表达式运算符匹配Java DecimalNumeral

来自分类Dev

重载运算符+:表达式必须具有整数或无作用域的枚举类型

来自分类Dev

查找数字A中的所有运算符组合,以使结果表达式等于数字B

来自分类Dev

Roslyn:如何确定表达式是否具有与某个运算符相同/更低优先级的运算符?

来自分类Dev

正则表达式以匹配所有字母数字和数学运算符

来自分类Dev

正则表达式以匹配所有字母数字和数学运算符

来自分类Dev

正则表达式:从标记<>中删除所有运算符(逗号)

来自分类Dev

正则表达式匹配字符串中的所有 java 运算符

来自分类Dev

具有“或”运算符的DB2 SQL正则表达式

来自分类Dev

具有多个OR / AND运算符的正则表达式

来自分类Dev

具有三元运算符表达式的AngularJS过滤器

来自分类Dev

具有'and'运算符的Perl / Javascript正则表达式

来自分类Dev

ggplot2中具有数学运算符的Plotmath表达式

来自分类Dev

具有反应路线的三元运算符中的多个表达式

来自分类Dev

带有运算符的语法表达式

来自分类Dev

如何添加带有应具有三元运算符的表达式的数据列

来自分类Dev

联合“表达式必须具有与相应表达式相同的数据类型”

来自分类Dev

RegExp:使用交替运算符组合模式或多次执行正则表达式

来自分类Dev

使用自定义运算符组合Lambda表达式

来自分类Dev

UNION中的所有子查询必须具有相同的列名

来自分类Dev

使用OR运算符的Lambda表达式

来自分类Dev

使用OR运算符的Python正则表达式

来自分类Dev

使用或运算符的相似测试表达式?

来自分类Dev

在布尔表达式中使用=>运算符

来自分类Dev

使用 AND NOT 运算符的正则表达式

来自分类Dev

在 XPath 表达式中使用 OR 运算符

来自分类Dev

没有中间表达式的三元运算符

Related 相关文章

  1. 1

    错误:所有使用UNION,INTERSECT或EXCEPT运算符组合的查询在其目标列表中必须具有相同数量的表达式

  2. 2

    正则表达式是否可以匹配`|`运算符中所有令牌组合

  3. 3

    使用所有格正则表达式运算符匹配Java DecimalNumeral

  4. 4

    重载运算符+:表达式必须具有整数或无作用域的枚举类型

  5. 5

    查找数字A中的所有运算符组合,以使结果表达式等于数字B

  6. 6

    Roslyn:如何确定表达式是否具有与某个运算符相同/更低优先级的运算符?

  7. 7

    正则表达式以匹配所有字母数字和数学运算符

  8. 8

    正则表达式以匹配所有字母数字和数学运算符

  9. 9

    正则表达式:从标记<>中删除所有运算符(逗号)

  10. 10

    正则表达式匹配字符串中的所有 java 运算符

  11. 11

    具有“或”运算符的DB2 SQL正则表达式

  12. 12

    具有多个OR / AND运算符的正则表达式

  13. 13

    具有三元运算符表达式的AngularJS过滤器

  14. 14

    具有'and'运算符的Perl / Javascript正则表达式

  15. 15

    ggplot2中具有数学运算符的Plotmath表达式

  16. 16

    具有反应路线的三元运算符中的多个表达式

  17. 17

    带有运算符的语法表达式

  18. 18

    如何添加带有应具有三元运算符的表达式的数据列

  19. 19

    联合“表达式必须具有与相应表达式相同的数据类型”

  20. 20

    RegExp:使用交替运算符组合模式或多次执行正则表达式

  21. 21

    使用自定义运算符组合Lambda表达式

  22. 22

    UNION中的所有子查询必须具有相同的列名

  23. 23

    使用OR运算符的Lambda表达式

  24. 24

    使用OR运算符的Python正则表达式

  25. 25

    使用或运算符的相似测试表达式?

  26. 26

    在布尔表达式中使用=>运算符

  27. 27

    使用 AND NOT 运算符的正则表达式

  28. 28

    在 XPath 表达式中使用 OR 运算符

  29. 29

    没有中间表达式的三元运算符

热门标签

归档