SQL:获取一个表中的所有记录以及第二个表中的记录计数?

2023-11-23

假设有两个表:

TABLE A

messageID / Message                     / More..
1         / This is the first message   / Etc..
2         / This is the second message  / Etc..
3         / This is the third message   / Etc..

TABLE B

commentID / messageID / Comment 
1         / 2         / This is a comment to the second message 
2         / 2         / This is another comment to the second message 
3         / 3         / This is a comment to the third message

表之间的联系是消息ID field.

我想要一个生成这样的结果的查询,其中我从表 A 中提取所有字段,并计算表 B 中每条消息的评论数量,如下所示:

messageID  / Message                    / More...  / CommentCount
1          / This is the first message  / etc...   / 0
2          / This is the second message / etc...   / 2
3          / This is the third message  / etc...   / 1

我尝试过这样的事情:

SELECT tableA.*, count(commentID) as commentcount 
FROM tableA LEFT JOIN tableB ON tableA.messageID = tableB.messageID GROUP BY messageID

但它不起作用。有任何想法吗?看起来应该可以在一个查询中完成此操作。我正在使用 MSSQL。谢谢你的帮助。


标量子查询将起作用:

SELECT tableA.*
    ,(SELECT count(commentID) FROM tableB WHERE tableA.messageID = tableB.messageID) as commentcount 
FROM tableA

和往常一样,剥这只猫的皮的方法有很多,性能也各不相同。

当使用GROUP BY,输出中的所有列都需要位于GROUP BY或者在聚合函数中 - 即使 messageID 中的其他列没有变化,它们仍然需要位于GROUP BY.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL:获取一个表中的所有记录以及第二个表中的记录计数? 的相关文章

  • 当两个表非常相似时,什么时候应该将它们合并?

    我有事件和照片 然后对两者进行评论 现在 我有两个评论表 一个用于与事件相关的评论 另一个用于照片评论 架构与此类似 CREATE TABLE EventComments CommentId int EventId int Comment
  • MySQL,连接两列

    MySQL 表中有两列 SUBJECT and YEAR 我想生成一个字母数字唯一编号 其中包含主题和年份的串联数据 我怎样才能做到这一点 是否可以使用像这样的简单运算符 您可以使用CONCAT http dev mysql com doc
  • PDO获取最后插入的ID

    我有一个查询 我想获取插入的最后一个 ID 字段ID是主键并且自动递增 我知道我必须使用这个声明 LAST INSERT ID 该语句适用于如下查询 query INSERT INTO cell place ID VALUES LAST I
  • 处理大数据表时应该如何使用Hibernate Mapping

    问题定义 我有一个包含大量数据 超过 100 000 行 的数据库表 表结构如下 AppID DocID DocStatus 1 100 0 1 101 1 2 200 0 2 300 1 每个 applicationID 可能有数千个文档
  • 在 SQL Server 中获取帐户“锁定”状态

    我想解锁 SQL Server 中的一个帐户 在解锁之前 我必须检查该帐户是否被锁定 我只想在帐户被锁定时解锁 是否有任何 SQL 查询或存储过程来获取 SQL 用户的 锁定 状态 代表 Alex K 发布答案 SELECT LOGINPR
  • 如何在postgresql中编写有关最大行数的约束?

    我认为这是一个很常见的问题 我有一张桌子user id INT 和一张桌子photo id BIGINT owner INT 所有者是一个参考user id 我想向表照片添加一个约束 以防止每个用户将超过 10 张照片输入数据库 写这个的最
  • 如何插入包含“&”的字符串

    如何编写包含 字符的插入语句 例如 如果我想将 J J Construction 插入数据库的列中 我不确定这是否有什么不同 但我正在使用 Oracle 9i 我总是忘记这一点 然后又回到它 我认为最好的答案是迄今为止提供的答复的组合 首先
  • Laravel Eloquent 预加载:加入同一个表两次

    我有一个users表和一个约会桌子 在约会表中 我有两个用户 ID customer id staff id 我想检索所有带有客户姓名和员工姓名的约会 users table id name appointments table id st
  • 从头开始构建 OLAP 解决方案时应该注意什么?

    我在一家运行基于 MS SQL 数据库服务器的软件产品的公司工作 多年来我已经用 PHP 开发了 20 30 个相当高级的报告 直接从数据库获取数据 这非常成功 人们对此感到高兴 但它有一些缺点 对于新的变化 它可能是相当开发密集型的 用户
  • 什么是多维 OLAP CUBE 并给出超过 3 维的多维数据集示例

    由于我是 SSAS 的新手 一直在阅读有关多维 OLAP 多维数据集的文章 并努力理解多维数据集的概念 据说虽然术语 多维数据集 表示三个维度 但多维数据集最多可以有 64 个维度 你能解释一下这在立方体上怎么可能吗 除了 3 Dim 示例
  • where 子句中的双 %% ?

    我有一个 where 子句 如下例所示 WHERE subject LIKE chef AND dep LIKE psy 使用 1 或 2 符号有什么区别 我知道其中一个的含义 通配符 但不知道第二个添加的功能是什么 该查询可能是一个拼写错
  • 更高效的 LINQ 查询

    有人可以帮我将此查询循环变成高效的 Linq 查询吗 我将其加载到 TreeView 中 因此必须附加每个项目 包含也非常低效 延迟加载项目也不起作用 事实上 这个查询访问数据库的次数比应有的要多 public IQueryable
  • 从一张表更新并插入另一张表

    我有两张桌子 table1 ID 代码 姓名 table2 ID 代码 姓名 具有相同的列 我想将数据从 table1 插入到 table2 或更新列 如果 table2 中存在 table1 ID table2 ID 执行此操作的简单方法
  • 重命名猫鼬中的字段[重复]

    这个问题在这里已经有答案了 我有两个 JSON 对象 每个对象都有一个名字字段 我想将名字重命名为名称 还想使用猫鼬将现有的名字值导入到名称 Schema const mongoose require mongoose const Sche
  • PostgreSQL WHERE 计数条件

    我在 PostgreSQL 中有以下查询 SELECT COUNT a log id AS overall count FROM Log as a License as b WHERE a license id 7 AND a licens
  • INTEGER 到 DATETIME 的转换与 VB6 不同

    我正在查看一些遗留的 VB6 代码 比我的时代早很多年 它对 SQL 2005 数据库运行查询 它提供了日期限制WHERE子句 其中日期作为整数值给出CLng VB6 中的日期 e g WHERE SomeDateField gt 4006
  • LEFT JOIN 比 INNER JOIN 快得多

    我有一张桌子 MainTable 有超过 600 000 条记录 它通过第二个表连接到自身 JoinTable 在父 子类型关系中 SELECT Child ID Parent ID FROM MainTable AS Child JOIN
  • 索引在 NOT IN 或 <> 子句中起作用吗?

    我读过 至少 Oracle 数据库中的普通索引基本上是 B 树结构 因此存储处理适当根节点的记录 小于 根的记录被迭代地存储在树的左侧部分 而 大于 根的记录被存储在右侧部分 正是这种存储方法有助于通过树遍历实现更快的扫描 因为深度和广度都
  • Postgres 按查询分组

    我正在尝试在 postgres 的查询中使用 group by 我无法让它按照我想要的方式工作 以便根据需要对结果进行分组 这是另一个堆栈问题的扩展我刚刚回答过的递归查询 https stackoverflow com questions
  • 总结同一个 SQL 表上的两个条件

    给定一个 SQL 表 Transactions ID INT COMPANY ID INT STATUS INT where STATUS IN 0 1 表示免费交易并且STATUS IN 2 3 表示可计费交易 简单的 我希望 ANSI

随机推荐

  • 制作简单的 Google Android Maps API v2 项目时 Android Studio 中的编译错误

    最近我迁移到了新Android Studio 集成开发环境基于IntelliJ 我遵循的指南是 https developers google com maps documentation android start 为了 基本 如何在 A
  • Android In App Update 在立即模式下下载 APK 后不安装 APK

    应用程序正在使用立即模式来更新应用程序 它开始下载 APK 但下载 APK 后 它永远不会安装 UI 挂起并显示下载进度 100 立即模式下没有反馈下载已完成 即时模式如何实现app自动下载 安装 重启 我正在使用以下模式以立即模式开始更新
  • C - 可移植地获取类型对齐

    我正在为一种非常简单的语言编写非常小的解释器 它允许简单的结构定义 由其他结构和简单类型组成 如 int char float double 等 我希望字段使用尽可能少的对齐方式 因此使用 max align t 或类似的东西是不可能的 现
  • XHTML 和 &(与号)的编码

    我的网站符合 XHTML Transitional 标准除了一件事 URL 中的 与号 按原样编写 而不是 amp 也就是说 我的页面中的所有 URL 通常都是这样的 a href http www example org page asp
  • 最好使用游标适配器或数组适配器

    我在数据库中存储了大约 100 个时间表 需要根据每周 下周 下个月 逾期时间表等要求基于 Listview 显示它们 是否可以在应用程序启动时加载所有计划并根据用户在阵列适配器中选择的选项 每周 逾期 每月等 显示它们 或者在运行时使用查
  • 管理 .NET 应用程序在终止/终止时正常关闭

    我们有一个具有许多前台线程的 NET 控制台应用程序 如果我们使用任务管理器终止进程或从 Windows 命令行发出killjob kill 是否有一种方法可以优雅地关闭应用程序 在 net 控制台应用程序中添加托管代码 例如拥有一个函数被
  • ViewFlipper 与 Fragments

    我有一个带有 ViewFlipper 的 Activity 它可以在一堆视图 页面 和我的数据之间翻转 我正在考虑使用fragments API 在我的视图之间切换 这样做有什么好处呢 由于 ViewFlipper 本质上会切换可见性标志
  • 如何在Windows中最好地设置java的路径

    我很好奇我在 windows 环境中看到的 java 路径之间存在的差异 如果我执行一个命令where java我可以看到 C Program Files x86 Common Files Oracle Java javapath java
  • 检测用户触发的jquery事件或代码调用

    我有一些window onscroll event window scroll function e My Stuff 但在我的代码中我调用动画滚动到某个地方 html body stop animate scrollTop 555 100
  • 如何使用 jQuery 从元素获取边框半径?

    我有一个 div 包含以下 HTML 和 CSS 为了使我的 Javascript 代码更加健壮 我尝试从所选元素中检索某些 CSS 属性 我知道如何使用 css getter 来获取元素 但是如何使用该方法获取边框半径 jQuery 的文
  • iOS 8 TestFlight 不安装应用程序

    正如标题所说 我正在尝试预发布一个 ios8 应用程序 该应用程序已从存档成功上传并显示在预发布下 我按下提交测试版并添加内部测试用户 在 testflight 中 该应用程序出现 但是当我按安装时 它显示 无法安装应用程序 testfli
  • 使用 jQuery 以编程方式触发 IE 的 Javascript 事件

    当 IE 中的用户触发事件时 它被设置为window event目的 查看触发事件的唯一方法是访问window event对象 据我所知 如果以编程方式触发事件 例如通过 jQuery 触发事件 这会导致 ASP NET 验证器出现问题 在
  • Eclipse:打开类和对象的语法突出显示

    是否有可能像在 Visual Studio 中一样在 Eclipse 中打开类和对象的突出显示 目前仅突出显示变量名称 左 Eclipse 右 Visual Studio 2012 Image http image uploader de
  • 转换输入时“ValueError:无法将字符串转换为浮点数”

    最近我一直在编写代码 并在这个错误上陷入困境几天 基本上 该程序计算您每天必须摄入多少卡路里 我必须从条目中获取输入 但我不知道如何将该输入 默认情况下是字符串 转换为浮点数才能开始使用数字 我正在使用 Python 3 和 Tkinter
  • 从十六进制颜色代码中查找颜色名称

    我想从十六进制颜色代码中找到颜色的名称 当我得到十六进制颜色代码时 我想找到最匹配的颜色名称 例如 对于代码 c06040 如何确定它是棕色 蓝色还是黄色 这样我就可以在无需人工干预的情况下找到图像中物体的颜色 颜色深浅的 十六进制代码之间
  • 如何在QML的.qrc资源文件中指定通配符?

    有 x 个 png目录中的文件 我不想手动添加所有这些 而是 想在 qrc文件并让它自己包含所有这些内容 达到这个目的的方法是什么 这是一个小 bash 脚本 它从文件夹的内容生成 qrc 文件 bin sh QRC resourcefil
  • 你可以在 Eclipse Android 项目中添加子文件夹到布局吗?

    当我在布局文件夹中创建子文件夹并将 xml 文件拖到其中时 生成的 R 文件似乎不显示该子文件夹 a 有没有办法改变 b 文件和文件结构是否仍然由 SVN 拾取和 c 那么 如果我这样做 我仍然可以使用布局引用对象吗 当我在中创建子文件夹时
  • 在 Next.js 中将 Markdown 文件作为字符串导入

    如何将 Markdown 文件作为字符串导入Next js在客户端和服务器端工作 您可以配置 Next js webpack 加载器来加载 markdown 文件并将其作为字符串返回 例如 docs home md Home This is
  • 设置弹出(Python)[重复]

    这个问题在这里已经有答案了 假设你有一套 foo 1 2 3 4 5 在我目前正在阅读的 Pro Python 一书中 它说使用foo pop 将从该选择中弹出任意数字 但是 当我尝试时 它pops 1 then 2 then 3 它是随意
  • SQL:获取一个表中的所有记录以及第二个表中的记录计数?

    假设有两个表 TABLE A messageID Message More 1 This is the first message Etc 2 This is the second message Etc 3 This is the thi