sql-server - 在交叉连接方面需要帮助
问题描述
SELECT *
FROM
(SELECT
SUM(CASE WHEN LOCAL_CCY_AMT < 0 THEN LOCAL_CCY_AMT END) AS DR
FROM
INSIGHTSOURCE.BS.RE_CRF_GL
WHERE
CONSOL_KEY10 = 'CUR'
GROUP BY
Consol_Key10
CROSS JOIN
SELECT
SUM(CASE WHEN LOCAL_CCY_AMT < 0 THEN LOCAL_CCY_AMT END) AS DR
FROM
INSIGHTSOURCE.BS.RE_CRF_GL
WHERE
CONSOL_KEY10 IN ('REG','WCL')
GROUP BY
Consol_Key10
CROSS JOIN
SELECT
SUM(CASE WHEN LOCAL_CCY_AMT < 0 THEN LOCAL_CCY_AMT END) AS DR
FROM
INSIGHTSOURCE.BS.RE_CRF_GL
WHERE
CONSOL_KEY10 IN ('OAM', 'SUB')
GROUP BY
Consol_Key10
CROSS JOIN
SELECT
SUM(CASE WHEN LOCAL_CCY_AMT < 0 THEN LOCAL_CCY_AMT END) AS DR
FROM
INSIGHTSOURCE.BS.RE_CRF_GL
WHERE
CONSOL_KEY10 IN ('DBT', 'LOS')
GROUP BY
Consol_Key10
CROSS JOIN
SELECT
SUM(CASE WHEN LOCAL_CCY_AMT < 0 THEN LOCAL_CCY_AMT END) AS DR
FROM
INSIGHTSOURCE.BS.RE_CRF_GL
WHERE
CONSOL_KEY10 IN ('CHO')
GROUP BY
Consol_Key10
)
我收到这些错误:
消息 156,级别 15,状态 1,第 4 行
关键字“CROSS”附近的语法不正确。消息 156,级别 15,状态 1,第 6 行
关键字“CROSS”附近的语法不正确。消息 156,级别 15,状态 1,第 8 行
关键字“CROSS”附近的语法不正确。消息 156,级别 15,状态 1,第 10 行
关键字“CROSS”附近的语法不正确。消息 102,级别 15,状态 1,第 12 行
')' 附近的语法不正确。
解决方案
为每个子查询使用别名和括号
SELECT * FROM (
(SELECT SUM(CASE WHEN LOCAL_CCY_AMT < 0 THEN LOCAL_CCY_AMT END) AS DR FROM INSIGHTSOURCE.BS.RE_CRF_GL WHERE CONSOL_KEY10 = 'CUR' GROUP BY Consol_Key10) AS t1
CROSS JOIN
(SELECT SUM(CASE WHEN LOCAL_CCY_AMT < 0 THEN LOCAL_CCY_AMT END) AS DR FROM INSIGHTSOURCE.BS.RE_CRF_GL WHERE CONSOL_KEY10 IN ('REG','WCL') GROUP BY Consol_Key10) AS t2
CROSS JOIN
(SELECT SUM(CASE WHEN LOCAL_CCY_AMT < 0 THEN LOCAL_CCY_AMT END) AS DR FROM INSIGHTSOURCE.BS.RE_CRF_GL WHERE CONSOL_KEY10 IN ('OAM','SUB') GROUP BY Consol_Key10) AS t3
CROSS JOIN
(SELECT SUM(CASE WHEN LOCAL_CCY_AMT < 0 THEN LOCAL_CCY_AMT END) AS DR FROM INSIGHTSOURCE.BS.RE_CRF_GL WHERE CONSOL_KEY10 IN ('DBT','LOS') GROUP BY Consol_Key10) AS t4
CROSS JOIN
(SELECT SUM(CASE WHEN LOCAL_CCY_AMT < 0 THEN LOCAL_CCY_AMT END) AS DR FROM INSIGHTSOURCE.BS.RE_CRF_GL WHERE CONSOL_KEY10 IN ('CHO') GROUP BY Consol_Key10) AS t5
)
推荐阅读
- javascript - 我如何修复我在哪里选择一个而其他的取消选择?
- node.js - 只执行一项测试
- android - 在 TextFormField 中,maxLength 获得了可访问性焦点 - 为什么?
- kubernetes - filebeat 不能在一个实例中使用多个输入/输出配置文件吗?
- ios - 当应用程序已在 Apple Store 上发布时通过 TestFlight 分发
- googletest - 来自模拟对象的方法未被调用
- javascript - 为什么当我在 PHP 中使用 json 数组设置 cookie 时,是否显示 % 符号?
- c# - 如何从 Untiy 中找到国家名称
- django - TemplateSyntaxError:模板和静态文件
- java - 返回第 K 个到最后一个:不正确的输出