sql - 3706 语法错误:预期介于整数和 ')' 之间
问题描述
我正在努力找出问题所在,我的部分代码看起来像这样
(sel no_2, sum(L) from (
sel no_2, colB, count(distinct(colC))
from dbA.tblP as p
join dbB.tblI as i on p.id = i.id and p.no = i.no
join dbB.tblT as t on i.no_2 = t.no_2
join dbA.mp_tblA as a on t.no_2 = a.no_2) l
) as l
group by 1) as l
Teradata 点与其中的 group by 1) 一致。我应该在“1”和“)”括号之间放什么?有什么办法可以解决吗?
解决方案
看起来你有一个额外) l
的东西导致语法错误。尝试这个:
SELECT no_2, SUM(L)
FROM (
SELECT no_2, colB, COUNT(DISTINCT colC) AS no_colC
FROM dbA.tblP AS p
INNER JOIN dbB.tblI AS i ON p.id = i.id AND p.no = i.no
INNER JOIN dbB.tblT AS t ON i.no_2 = t.no_2
INNER JOIN dbA.mp_tblA AS a ON t.no_2 = a.no_2
) AS l
GROUP BY 1
除了评论之外,还有一些关于可读性的建议:
- 使用
SELECT
而不是SEL
- 指定
INNER JOIN
而不是JOIN
- 如果你打算使用
count(distinct(colC))
给它一个别名,比如no_colC
另外,您引用的“L”值是SUM(L)
多少?除非您在子选择中包含该字段,否则查询不会按原样工作。
推荐阅读
- php - pdf到php中的字节数组转换
- c++11 - ld:未找到体系结构 x86_64 的符号 clang:错误:链接器命令失败,退出代码为 1
- angular - 通过代理配置从 Electron-Angular 项目调用 API
- python - 为什么 reshape 对 Transpose 的工作方式不同并返回一个新的 nd 数组?
- android - Android的FFmpeg GL转换命令
- ios - 是否可以在文本字段中显示之前修改自动填充字符串?
- ethereum - 如何使用 web3 解码日志并取回事件?
- python - 如何使用 alpha 通道为 png 图像着色?
- java - 无法使用 gson 和改造从对象读取数据
- entity-framework - 实体框架更新种子数据——数据运动迁移