sách gpt4 ai đã đi

sql - EXISTS 内部 CASE 内部 AGGREGATE FUNCTION

In lại 作者:行者123 更新时间:2023-12-04 23:43:27 28 4
mua khóa gpt4 Nike

我正在尝试做类似的事情:

SELECT SUM(
CASE WHEN (
AND EXISTS(SELECT 1
FROM as tA
WHERE tA.Id = tB.tAId and

)
) THEN 1 ELSE 0 END
) as
FROM as tB

我需要避免使用连接来实现我的需要,因为在这种情况下,我不想对通过连接子句获得的结果返回的重复项进行计数/求和。当我尝试执行查询时,收到以下错误消息:

"cannot perform an aggregate function on an expression containing an aggregate or a subquery"

我不知道我做错了什么。

感谢任何帮助。

EDIT: I added a possible condition on the WHERE statement only to show I need to relate the columns of the outside table (tableB) with the inside table (tableA)

这是一个 tableA 和 tableB 的示例,以及当我加入两者时会发生什么:

tableA: tableB: tableA JOIN tableB
Id Id tAId Time Id(A) Id(B) taId Time
1 1 1 5 1 1 1 5
2 2 2 6 2 2 2 6
3 3 2 10 2 3 2 10
4 4 3 11 3 4 3 11
5 5 4 14 4 5 4 14
6 4 13 4 6 4 13
7 4 12 4 7 4 12
8 5 10 5 8 5 10

因此,当我尝试使用 JOIN 操作的结果作为输入来对 tableA 中的某些属性(即 tableA.Id)进行计数/求和时,我最终会计算重复项。这就是为什么我不能使用 JOIN 除非我可以选择 DISTINCT 元素。我喜欢显示此内容的答案,因此我正在尝试无误地实现它。

(注意:我非常感谢所有其他答案,因为它们显示了适合我情况的可能解决方案)

1 Câu trả lời

SELECT SUM(
CASE WHEN (
AND tA.Id IS NOT NULL
) THEN 1 ELSE 0 END
) as
FROM as tB
JOIN (SELECT DISTINCT ta.Id
FROM ) as tA ON tA.Id = tB.Id AND

关于sql - EXISTS 内部 CASE 内部 AGGREGATE FUNCTION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36600786/

28 4 0
Bài viết được đề xuất: sql - 使用 Oracle10g 合并两个表时出错?
Bài viết được đề xuất: sql - 简单的重构sql查询
Bài viết được đề xuất: sql - 如何两次插入临时表
Bài viết được đề xuất: SQL Server 2016 在不重复查询的情况下将相似的行计为一列
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com