MySQL:GROUP_CONCAT 与 LEFT JOIN

2024-02-10

我在使用 MySQL 的“GROUP_CONCAT”函数时遇到问题。我将使用一个简单的帮助台数据库来说明我的问题:

CREATE TABLE Tickets (
 id INTEGER NOT NULL PRIMARY KEY,
 requester_name VARCHAR(255) NOT NULL,
 description TEXT NOT NULL);

CREATE TABLE Solutions (
 id INTEGER NOT NULL PRIMARY KEY,
 ticket_id INTEGER NOT NULL,
 technician_name VARCHAR(255) NOT NULL,
 solution TEXT NOT NULL,
 FOREIGN KEY (ticket_id) REFERENCES Tickets.id);

INSERT INTO Tickets VALUES(1, 'John Doe', 'My computer is not booting.');
INSERT INTO Tickets VALUES(2, 'Jane Doe', 'My browser keeps crashing.');
INSERT INTO Solutions VALUES(1, 1, 'Technician A', 'I tried to solve this but was unable to. I will pass this on to Technician B since he is more experienced than I am.');
INSERT INTO Solutions VALUES(2, 1, 'Technician B', 'I reseated the RAM and that fixed the problem.');
INSERT INTO Solutions VALUES(3, 2, 'Technician A', 'I was unable to figure this out. I will again pass this on to Technician B.');
INSERT INTO Solutions VALUES(4, 2, 'Technician B', 'I re-installed the browser and that fixed the problem.');

请注意,此帮助台数据库有两个票证,每个票证都有两个解决方案条目。我的目标是使用 SELECT 语句创建数据库中所有票证及其相应解决方案条目的列表。这是我正在使用的 SELECT 语句:

SELECT Tickets.*, GROUP_CONCAT(Solutions.solution) AS CombinedSolutions
FROM Tickets
LEFT JOIN Solutions ON Tickets.id = Solutions.ticket_id
ORDER BY Tickets.id;

上述 SELECT 语句的问题是它只返回一行:

id: 1
requester_name: John Doe
description: My computer is not booting.
CombinedSolutions: I tried to solve this but was unable to. I will pass this on to Technician B since he is more experienced than I am.,I reseated the RAM and that fixed the problem.,I was unable to figure this out. I will again pass this on to Technician B.,I re-installed the browser and that fixed the problem.

请注意,它返回票证 1 的信息以及票证 1 和票证 2 的解决方案条目。

我究竟做错了什么?谢谢!


Use:

   SELECT t.*,
          x.combinedsolutions
     FROM TICKETS t
LEFT JOIN (SELECT s.ticket_id,
                  GROUP_CONCAT(s.soution) AS combinedsolutions
             FROM SOLUTIONS s 
         GROUP BY s.ticket_id) x ON x.ticket_id = t.ticket_id

备用:

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

MySQL:GROUP_CONCAT 与 LEFT JOIN 的相关文章

  • 浏览器关闭后从数据库中删除

    我正在开发一个电子商务应用程序 但问题是 当用户将产品添加到购物车并在订购前关闭浏览器时 购物车会带走所有产品 所有购物车项目都保存在表中 如果用户关闭浏览器而不订购 我只想刷新购物车 您可以使用 Javascript 事件捕获浏览器关闭并
  • 查找缺失值

    我有一个表 有 2 个重要的列 DocEntry WebId 样本数据就像 DocEntry WebId 1 S001 2 S002 3 S003 4 S005 现在我们可以注意到 在 WebId 列中 S004 丢失了 我们如何通过查询找
  • 有向图 SQL

    我有以下数据集 它表示有向图中的节点 CREATE TABLE nodes NODE FROM VARCHAR2 10 NODE TO VARCHAR2 10 INSERT INTO nodes VALUES GT TG INSERT IN
  • MySql 完全联接(联合)和多个日期列的排序

    一个相当复杂的 sql 查询 我可能使它变得更加困难 我有两张桌子 消息 newsid 日期时间 新闻文本 图片 图片ID 日期时间 imgPath 两者没有关系 我只是在新闻 图片创建的日期之前加入 到目前为止的 SQL SELECT F
  • MySQL - 此版本的 MySQL 尚不支持“LIMIT 和 IN/ALL/ANY/SOME 子查询”

    这是php编码我正在使用的 Last Video db gt fetch all SELECT VID thumb FROM video WHERE VID IN SELECT VID FROM video WHERE title LIKE
  • 如何使用Conda安装MySQLdb?

    我已经阅读了有关如何安装 MySQLdb 的几种不同的解释 但我不确定哪种情况适用于我 因为我的错误消息不同 我的系统似乎找不到 MySQLdb 我安装了 pymysql 但我需要导入 MySQLdb 才能使用该库中的过程 感谢您的帮助 c
  • mysql变量赋值:如何强制赋值顺序?

    由于mysql是一种声明性语言 我找不到强制赋值变量顺序的方法 采取这个查询 SET v1 0 SET v2 0 SELECT v1 v2 FROM MyTable table WHERE v1 v2 is not null AND v2
  • 将 SQL 中的数据存储在数组中

    我正在尝试将 sql 数据库中的数据存储到数组中 目前我有这个 query mysql query SELECT FROM InspEmail WHERE Company LIKE company while row mysql fetch
  • 使用 sql 查询选择最近 30 天

    我正在查找过去 30 天内周一 周二 周三 周四 周五 周六 周日的数量 我可以在没有实际数据库表的情况下选择最近 30 天的日期和星期几吗 就像是 SELECT everything between convert date GETDAT
  • WHERE 子句或 ON 子句中的 INNER JOIN 条件?

    我今天输错了一个查询 但它仍然有效并给出了预期的结果 我的意思是运行这个查询 SELECT e id FROM employees e JOIN users u ON u email e email WHERE u id 139840 但我
  • 简单的t-sql而不是触发器

    任何人都可以帮助解决简单的 t sql 脚本与板载触发器的问题吗 我使用非常简单的触发器将数据从一个表复制到另一个表 这些表之间没有关系 当我尝试在触发器创建后 从同一脚本 直接第一次插入数据时 我得到了所需的结果 但所有接下来的尝试都会失
  • 计算行数并仅获取表中的最后一行

    我有一张桌子叫employeexam其结构和数据是这样的 id course id employee id degree date 1 1 3 8 2013 01 14 2 2 4 15 2013 01 14 3 2 4 17 2013 0
  • 如何将另一列的整数值添加到日期列?

    我试图将整数添加到日期 但出现以下错误 1064 你的 SQL 语法有错误 检查与您的 MySQL 服务器版本相对应的手册 了解在第 6 行的 wp OrderDate INTERVAL WPProduct Duration DAY AS
  • 左连接 SQL 求和

    我有两张桌子想要加入 比如说表 a 和表 b 表 b 有许多行指向表 a 表 b 包含价格 实际上是一个购物篮 所以我想要的是表a中的所有记录和表b中的价格之和 我努力了 select a sum b ach sell from booki
  • 批量更新 SQL Server C#

    我有一个 270k 行的数据库 带有主键mid和一个名为value 我有一个包含中值和值的文本文件 现在我想更新表格 以便将每个值分配给正确的中间值 我当前的方法是从 C 读取文本文件 并为我读取的每一行更新表中的一行 必须有更快的方法来做
  • $_SESSION 中保存大量信息可以吗?

    我需要存储许多数组 SESSION以防止从 MySQL 检索信息 可以吗 其中 太多 的信息有多少 SESSION还是没有 太多 谢谢 附 或者更好地使用http php net manual en book memcache php ht
  • 为什么运行 docker 容器后 mysql 数据所有权更改为 systemd-journal-remote

    我的mysql数据库存储在 home mysql代替 var lib mysql 该目录曾经属于mysql 但是 当我运行命令时docker compose up使用这个 yml 文件 version 3 services mariadb
  • 更新查询时 ios 中出现“数据库锁定”错误

    我正在使用下面的代码更新查询 using sqlite 但我越来越 database is locked error 我尝试搜索一些 SO 链接 建议关闭数据库 但我再次执行此操作时遇到相同的错误 我已经提到过代码中出现错误的地方 cons
  • 使用 GROUP 和 SUM 的 LINQ 查询

    请帮助我了解如何使用带有 GROUP 和 SUM 的 LINQ 进行查询 Query the database IEnumerable
  • 我的数据库有错误

    创建表时如下 create table Ticket ticket id integer not null primary key AirlineName varchar not null CustomerName varchar from

随机推荐

  • 如何使用spring boot制作通用库

    现在我想为我们的系统开发一个通用的邮件服务 当我们设计时 我们希望开发一个RabbitMQ生产者和消费者 在消费者方面 我们可以开发和部署Spring Boot or Spring Cloud应用程序 但在生产者方面 我们希望提供一个通用的
  • 如何使用 Code::Blocks 链接到库?

    C GUI 教程 对 TextOut 的未定义引用 https stackoverflow com questions 2180755 c gui tutorial undefined reference to textout 218078
  • boto3 upload_file 方法中支持对象级别标记

    我想在将文件上传到 S3 时为其添加标签 Boto3 支持使用 put object 方法指定标签 但是考虑到预期的文件大小 我使用 upload file 函数来处理分段上传 但此函数拒绝 标记 作为关键字参数 import boto3
  • JellyBean 中的 RecognitionListener 如果不立即对话就会冻结

    我正在开发的一个基于语音识别的应用程序可以在从 API 8 Android 2 2 开始的所有 Android 版本上运行良好 但在 Nexus S 4G Android 4 1 1 上 RecognitionListener 将简单地暂停
  • iPhone XR / XS / XS Max CSS 媒体查询

    用于定位 Apple 2018 设备 iPhone XR XS XS Max 的正确 CSS 媒体查询是什么 iPhone XR 1792x828px at 326ppi media only screen and device width
  • Warden 回调应该放置在 Rails 应用程序中的什么位置?

    我对 Rails 比较陌生 我已设置 Devise 并希望在用户登录后运行一些回调代码 看着典狱长维基页面 https github com hassox warden wiki Callbacks 我可以使用 after set user
  • 增加 Windows Mobile 5 模拟器存储

    我正在使用 Microsoft Sync Framework 将 SQL Server 数据库与 Windows Mobile 5 模拟器上的 SQL Compact SDF 文件同步 我们部署的实际设备中有一个 2 GB SD 卡 因此我
  • 在 post 方法中隐藏表单操作 url

    我下面有这段代码 我想将其插入新脚本中
  • Android 风格 Intent Activity

    如何根据口味创建活动意图 等级制度 main ActivityA flavor free uses main ActivityA flavor paid uses own paid ActivityA 那么如何根据当前的风味创建一个Inte
  • 检查 iPhone 中的网络可达性后应用程序崩溃?

    我有一个 mpmovieplayercontroller 来播放在线音乐和 avaudiosesion 在后台播放相同的音乐 当第一次应用程序在没有网络访问的情况下启动时 通常我显示 没有互联网连接 当我在连接到互联网并播放后尝试时显示错误
  • 如何创建具有视觉源安全的 diff 文件?

    如果我想用svn创建一个目录的补丁文件 我需要做的就是右键单击该目录 单击tortoiseSVN 然后单击创建补丁 我就有了一个很好的补丁文件 其中包含了最新版本的差异svn 上的代码和我机器上的代码 有没有办法构建隐藏在 VSS 中的 d
  • 从历史任务中获取表单密钥

    我们从任务服务获取表单密钥 就像下面的代码片段一样 for Task task getTaskService createTaskQuery taskCandidateGroupIn candidateGroup initializeFor
  • iMessage 扩展和应用内购买

    我正在尝试使用 InApp Purchase 功能创建 iMessage 扩展 基本上我创建了一个 iMessage 应用程序 它创建了两个目标 您的应用程序目标 消息扩展 并且每个都有它自己的包标识符 扩展名有 app 前缀 现在我正在尝
  • 如何创建具有动态“zero_state”的dynamic_rnn(推理失败)

    我一直在使用 dynamic rnn 来创建模型 该模型基于 80 个时间周期信号 我想在每次运行之前将 initial state 归零 因此我设置了以下代码片段来完成此操作 state cell L1 zero state self B
  • 使用 JavaScript/jQuery 下载文件

    我有一个非常相似的指定要求here https stackoverflow com questions 1296085 download file using jquery 我需要让用户的浏览器在以下情况下手动开始下载 a someID c
  • 自定义 shebang 的 VSCode 语法高亮显示

    在工作中 我们在自定义环境下运行 python 因此我们使用非标准的 shebang 我测试过VSCode可以识别python文件without py 扩展名 如果他们有 shebang usr bin env python or usr
  • 使用 vue.js 和 vuetify 进行服务器端表单验证

    我看到了很多有关使用 Vuetify 进行客户端验证的文档 但发现很难找到有关 vuetify 和 vue 的服务器端验证消息的文档 PROBLEM 我有这个组件
  • 将数组组分组为单独的子数组组[重复]

    这个问题在这里已经有答案了 我有一个带有字符串的 JS 数组 例如 let a a a a b c c b b b d d e e e 我需要比较数组内的重复字符串 如果存在重复字符串 它将像这样分隔 a a a b c c b b b d
  • PHP 中先调用父构造函数再调用子构造函数

    我想知道是否可以在 PHP 中继承子代的 construct 之前调用父代的 construct Example class Tag construct Called first class Form extends Tag constru
  • MySQL:GROUP_CONCAT 与 LEFT JOIN

    我在使用 MySQL 的 GROUP CONCAT 函数时遇到问题 我将使用一个简单的帮助台数据库来说明我的问题 CREATE TABLE Tickets id INTEGER NOT NULL PRIMARY KEY requester