sql - 是否可以在其他表中查询具有多个出现计数的行?
问题描述
我正在处理一个问题。我必须创建可以返回特定键出现次数的查询,让我们keyid
在其他表中为我的表中的每一行调用它。
它必须看起来像这样:
SELECT
parameter1,
parameter2,
parameter3,
parameter4,
parameter5(count of keyid occurrences in specific table),
parameter6(count of keyid occurrences in another specific table),
parameter7(count of keyid occurrences in another specific table),
parameter8(count of keyid occurrences in another specific table)
到目前为止,我已经做到了:
SELECT
keyid, name, section, address, updatedAt,
(SELECT COUNT(library.keyid) AS storeCount
FROM library
LEFT JOIN store ON library.keyid = store.keyid
GROUP BY library.keyid)
FROM
library
但我收到一个错误:
错误:用作表达式的子查询返回多行
SQL 状态:21000
因为子查询想要返回多行,其中包含keyid
我从库中获取的一行的相同出现次数。关于如何解决这个问题的任何想法?
解决方案
大概,你想要一个相关的子查询:
SELECT keyid, name, section, address, updatedAt,
(SELECT COUNT(*)
FROM store s
WHERE l.keyid = s.keyid
) AS storeCount
FROM library l;
请注意,这GROUP BY
是不必要的。但是您真正的问题是您的查询不相关,因为library
在子查询中重复。
推荐阅读
- javascript - 为什么我的函数返回“newLine.unshift(startN) 不是函数”
- python - 如果列中的值包含两个单词,则创建一个新列并映射该值
- perl - 如何优化 TAP 中 done_testing 的结束以及 perl 中测试结果的评估?
- javascript - 用于检索 Google Secret Manager 变量的 asnyc 函数返回待处理的承诺
- javascript - 需要 javascript/ 解决方案来发送存储在我的数据库中的邮件(由用户在联系表中填写)
- google-cloud-platform - 如何使用“JAVA”从组织中获取所有 GCP 文件夹?
- forms - 使用烧瓶将 html 表单发送到 ajax 请求时出现错误的请求错误 400
- python - 如何开始使用 Salesforce 进行自动化?
- python - 尝试使用字典和函数,但收到 TypeError
- sql - 用于调用 sql 表的 Wordpress function.php 短代码,返回 vs 回显?