sql - SQL:第 5:5 行:“c”列不明确
问题描述
我在 hiveql 中编写了这样的代码。
SELECT
ttt1.rid,
a,
s,
ttt2.num
FROM
(
(
SELECT
rid,
r ['a'] AS a,
r ['s'] AS s
FROM
l
WHERE
dt BETWEEN '20210914'
AND '20210917'
AND r ['act'] = 3
AND r ['pos'] = 1
AND r ['s'] = 50011
AND r ['c'] = 'anti'
) ttt1
JOIN (
SELECT
r ['a'] AS a,
r ['s'] AS s,
count(1) AS num
FROM
l
WHERE
dt BETWEEN '20210914'
AND '20210917'
AND r ['act'] = 3
AND r ['pos'] = 1
AND r ['s'] = 50011
AND r ['c'] = 'anti'
GROUP BY
r ['s'],
r ['a']
) ttt2 ON (
ttt1.a = ttt2.a
AND ttt1.s = ttt2.s
)
)
我想知道为什么它会出现模棱两可的错误。
第 5:5 行:“c”列不明确
CUZa
和s
是join
这两个表的键,它可以忽略<TABLE_NAME>
之前的<COLUMN_NAME>
.
谁能给我一些解释?
提前致谢。
解决方案
我认为问题出在最终选择中,您尚未指定要从哪些表中选择 a 和 s
SELECT
ttt1.rid,
a, --change this to ttt1.a
s, --change this to ttt1.s
ttt2.num
推荐阅读
- javascript - 使用缩略图切换基本图像 - Magento
- python - Pandas:插入后重新索引多级列
- python - 如何从 pytorch 模型并行化模型预测?
- c++ - 如何使用 CPackDeb 创建自启动 C++ systemd 服务?
- office-js - Outlook REST API 在移动设备和桌面设备上返回不同的 itemId
- python - 如何仅获取已识别的文本?
- swift - 三元运算符未正确处理零数据
- javascript - 带日程的云功能
- java - Alternatives to RecyclerView?
- twilio - 使用 Twilio 函数将 JSON 解析为数组 javascript