gpt4 book ai didi

mysql - 使用 CASE 的条件内部连接

转载 作者:太空宇宙 更新时间:2023-11-03 10:40:11 25 4
gpt4 key购买 nike

我想对我表中的所有位列进行计数和求和,如果它的总和大于 2,则我的 documents 表中的 isApprove 列将为 1。

SELECT document_id,
SUM(CASE WHEN isApprove = 1 THEN 1 ELSE 0 END) AS approveBy
FROM approvals_document

输出:

document_id | approveBy
96 2

我想加入 approvals_document 的相关表,它是 documents 使用它。

SELECT document_id, D.isApprove,
SUM(CASE WHEN isApprove = 1 THEN 1 ELSE 0 END) AS approveBy
FROM approvals_document AD
INNER JOIN documents D ON D.id = AD.document_id

但它不会加入isApprove 列。我缺少哪一部分?任何帮助将不胜感激!

approvals_document

id | document_id | isApprove

文档

编号 |批准

草稿输出:

document_id | approveBy | isApprove(documents table)

96 2 0

最佳答案

你在 ON 的连接子句中缺少一个 equals,你需要为这种情况起别名:

SELECT document_id, D.isApprove,
SUM(CASE WHEN AD.isApprove = 1 THEN 1 ELSE 0 END) AS approveBy
FROM approvals_document AD
INNER JOIN documents D ON D.id = AD.document_id

关于mysql - 使用 CASE 的条件内部连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40015793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com