将多行合并为一个 MySQL Join

2023-12-06

我想不出更好的方法来问这个问题,但这里是:

我有 2 张桌子。第一个是标签打印作业的项目表。我们将称之为pj_items这些列很简单:job_id, part_num and qty

第二个表是名为的饰面列表PartFinishes在只有 2 列的零件上:PartNumber and FinishId

当我想检索标签打印机的信息时,我使用:
select pj_items.part_num, pj_items.qty, PartFinishes.FinishId from pj_items
join PartFinishes on PartFinishes.PartNumber = pj_items.part_num
where job_id = 1

当每个部分只有一个完成时,此查询工作正常并给出正确的结果。问题是当一个零件有 2 个或更多饰面时。

例如: 部分99401326有 2 个饰面。在我的pj_items表我有一行用于该部分,因此我可以打印一个标签。当我使用此查询时,它会为该部分返回 2 行,每行都有不同的FinishId不幸的是,这会导致打印 2 个标签。我需要将这两种表面处理都放在一行上,因为我只想在一个标签上打印这两种表面处理FinishId的礼物。

我有一个类似的查询,它将饰面返回为新列(f1,f2,f3) 但在给定的示例中它仍然会返回 2 行f1在第一行中定义并且f1第二行中为 null 且f2在第二个中定义。

我怎样才能把它排成一排?

希望这是有道理的,有人有什么建议吗?

如果您需要更多信息,请告诉我。

Thanks!

EDIT:

The pj_items表可能有重复的条目,我需要将它们保留为单独的行。我只需要将每个零件的所有饰面与其各自的零件放在一排中即可。

Example
Here is an example of the pj_items table:
pj_items table

Here is the relevant information from the PartFinishes table:
PartFinishes table

And here is the result using the original query:
results

我在结果中需要的是两行99401326是在该行中具有两种饰面的一个,同时保留 2 个单独的行99401077因为我想要其中的 2 个标签。


您可以使用 GROUP_CONCAT 将给定​​零件的所有完成 ID 合并到一列中。

SELECT pj_items.part_num, 
       pj_items.qty, 
       GROUP_CONCAT(PartFinishes.FinishId) as FinishIds
FROM pj_items
JOIN PartFinishes 
  ON PartFinishes.PartNumber = pj_items.part_num
WHERE job_id = 1
GROUP BY PartFinishes.PartNumber

@评论: 但是,如果您想将 pj_items 中的行分开,您将需要加入已按 PartNumber 分组的 PartFinishes:

SELECT pj_items.part_num, 
   pj_items.qty, 
   FinishesGrouped.FinishIds
FROM pj_items
JOIN 
  ( SELECT PartNumber, GROUP_CONCAT(FinishId) as FinishIds
    FROM PartFinishes
    GROUP BY PartNumber ) FinishesGrouped
ON
  pj_items.part_num = FinishesGrouped.PartNumber
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将多行合并为一个 MySQL Join 的相关文章

  • 社交应用程序的数据库设计和优化注意事项

    通常的情况 我有一个简单的应用程序 允许人们上传照片并关注其他人 因此 每个用户都会有类似 墙 或 活动源 的东西 他或她可以在其中看到他 她的朋友 他或她关注的人 上传的最新照片 大多数功能都很容易实现 然而 当涉及到这个历史活动源时 由
  • 仅使用扩展方法在 Linq 中进行漂亮、干净的交叉连接 [重复]

    这个问题在这里已经有答案了 可能的重复 使用扩展方法表示的嵌套 from LINQ 查询 https stackoverflow com questions 9115675 nested from linq query expressed
  • 对于数据库来说,选择正确的数据类型会影响性能吗?

    如果是这样 为什么 我的意思是 tinyint 的搜索速度比 int 快吗 如果是这样 性能上的实际差异是什么 是的 根据数据类型 它确实有所不同 int vs tinyint不会在速度上产生明显的差异 但会在数据大小上产生差异 假设tin
  • 使 pdo::query 静态

    当我运行下面的代码时出现此错误 我通常使用 msql 函数 但我尝试使用 PDO 代替 怎么了 致命错误 第 14 行无法静态调用非静态方法 PDO query
  • Sequelize.js - “不关联到”

    我在从数据库获取完整数据时遇到一些问题 那是我的模型 User module exports function sequelize DataTypes return sequelize define user id type DataTyp
  • 为什么 MySQL 创建带有 _seq 后缀的表?

    我创建了一个 InnoDB 表 名为foo在 MySQL 中 一旦我对表执行插入操作 我就会看到另一个表foo seq被建造 如果我删除自动生成的表 它会在下一次插入后出现 是什么原因造成的 听起来像是正在创建一个序列 您是否有自动生成的主
  • Scrapy - 持续从数据库中获取要爬取的url

    我想不断地从数据库中获取要爬行的网址 到目前为止 我成功地从基地获取了 url 但我希望我的蜘蛛继续从该基地读取 因为该表将由另一个线程填充 我有一个管道 一旦爬行 工作 就会从表中删除 url 换句话说 我想使用我的数据库作为队列 我尝试
  • PHP 绑定“bigint”数据类型(MySQLi 准备好的语句)

    studentId 57004542323382 companyOfferId 7 sql INSERT INTO studentPlacement companyOfferId studentId VALUES if stmt db gt
  • 截断 Mysql 表 Cron 作业?

    我在如何使用 cron 作业截断 Mysql 表时遇到了一些麻烦 无论我尝试什么 我似乎都无法让数据库清除表格 感谢您的帮助 mysql uderp example pexample hlocalhost Dexample e TRUNCA
  • Mysql 检索所有有限制的行

    我想检索特定用户的所有行 限制为 0 x 所以我只是想问是否有任何方法可以检索 mysql 中的所有行 而不调用返回 x 的 count id 的方法 而不重载现有函数 该函数在查询中根本没有限制 与我们的 string Relace 功能
  • 如何正确转义mysql?

    我刚刚发现如果我写 select from tbl where name like foo 然后添加 foo 作为参数及其值 a 用户数据 它不会正确转义 我勒个去 它想要 a 即使我使用参数 我还是忍不住觉得我对 sql 注入持开放态度
  • 为什么我的 if 语句没有按我预期的方式工作?

    我正在尝试实现以下目标 我向我的 SQL 数据库询问使用SELECT FROM subjects 这样做之后我要求使用数组mysqli fetch assoc 在那之前一切都很好 现在的问题是 当我尝试在每个循环中修改 genero 的值
  • 使用 PHP 的 MySQL 连接字符串

    我正在尝试通过本地计算机连接到托管在我的服务器上的数据库 我的服务器有cPanel 11 它是一个典型的共享服务器 由CentOS提供支持 安装了PHP和MySQL 准确地说 我在同一台服务器上持有经销商帐户 我想在不同帐户或域之间访问数据
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和
  • MySQL 按重复项从上到下排序

    我有一个lammer问题 因为我不是mysql专业人士 我有类似的字段 id color 1 red 2 green 3 yellow 4 green 5 green 6 red 我想按重复项进行分组 最常见的重复项先进行分组 所以应该这样
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • MySQL 查询计算上个月

    我想计算上个月的订单总额 我收到了从当前日期获取当月数据的查询 SELECT SUM goods total AS Total Amount FROM orders WHERE order placed date gt date sub c
  • 将第三个表链接到多对多关联中的桥接表

    设计这个数据库的正确方法是什么 这是我设置表格的方式 我在名为 教师 的表和名为 仪器 的表之间存在多对多关系 然后我有一个连接两者的桥接表 我想将另一个表与 BRIDGE 表关联起来 意思是乐器 老师的组合 该表有 3 行 指定老师可以教
  • 免费 PHP 登录库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • SQL不允许表中有重复记录

    如何使其不添加重复项 我想让它通过 ID 之外的所有其他列进行检查 我希望这个无效 ID col1 col2 col3 1 first middle last ID col1 col2 col3 2 first middle last 我希

随机推荐

  • 如何使用Cookie检查用户是否已经登录?

    我想知道如何检测用户是否已经登录 使用cookie 我没有使用任何登录控件 我有一个数据库可以检查 ID 和 PWD 另请告诉我是否可以在不使用 cookie 的情况下完成 任何代码或链接都会有帮助 网络配置
  • Android 下拉颜色选择器

    我想创建一个下拉颜色选择器 如下所示 抱歉图像丑陋 我只需要一些颜色 比方说 6 种 所以我不需要完整的颜色选择器 下拉菜单就可以正常工作 我知道我必须扩展 Spinner 的阵列适配器并覆盖获取下拉视图 and getView 我不知道的
  • 如何从一个文件中读取随机行?

    有内置方法可以做到这一点吗 如果不是 我怎样才能在不花费太多开销的情况下做到这一点 不是内置的 而是算法R 3 4 2 Waterman 的 Reservoir Algorithm 来自 Knuth 的 计算机编程的艺术 很好 非常简化的版
  • 如何从父子表中获取结果

    Work on SQL服务器 我的表结构如下 CREATE TABLE dbo AgentInfo AgentID int NOT NULL ParentID int NULL CONSTRAINT PK AgentInfo PRIMARY
  • 运行命令、流式传输 stdout/stderr 并捕获结果

    我正在尝试使用std process Command运行命令并流式传输其 stdout 和 stderr 同时捕获 stdout stderr 的副本 我发现我可以使用spawn 此代码将捕获输出 但不会在发生时将其流式传输到 stdout
  • 如何修复“没有名为‘app_one’的模块”

    我有一个具有以下结构的 Python 包 gt python package package root directory gt app one subpackage directory gt init py gt views py gt
  • Adobe Air:在不同应用程序之间更改焦点时滚动条会抛出错误

    TypeError Error 1009 Cannot access a property or method of a null object reference at spark components Scroller focusInH
  • 如何平滑 CamShift 中的跟踪

    我正在使用 OpenCV 库函数进行手头跟踪项目 通过使用Camshift 我可以跟踪我的手 但它不稳定 即使我使我的手稳定 跟踪也几乎没有移动 所以我无法在正确的位置执行鼠标单击操作 有人请帮我解决这个问题 void TrackingOb
  • 复制时的 PouchDB/CouchDB 序列计数器

    I am live将新创建的 pouchdb 3 3 1 同步到已建立的 iris couchdb 初始复制成功发生 pause事件被触发 If I do info 在本地 我得到的 update seq 为362 如果我做info 在遥控
  • 如何将c++与字边界匹配

    我想将单词 c 与 Python 3 中的单词边界匹配 但我的猜测是 b 也会在加号上触发 为了清楚起见 我已简化为以下测试用例 bc b 我希望我可以保留单词边界 但以某种方式更改其设置 原因是我想将正则表达式放在 TfidfVector
  • 点语法和方括号语法有什么区别?

    我正在经历一些 Objective C 的演练 其中很多地方都让我大吃一惊 我很想把他们打倒 消息发送和方法调用有本质区别吗 Objective C 让我可以同时完成这两件事 object message产生相同的结果 object mes
  • 如何使用 MediaCodec、MediaExtractor 或 MediaMetadataRetriever 确定视频文件的帧速率?

    如何提取录制视频文件的帧速率 我知道有 MediaFormat KEY FRAME RATE 并且我可以通过 MediaExtractor 访问 MediaFormat 对象 但是 KEY FRAME RATE 仅适用于编码器 相反 我想找
  • 将自定义按钮与 Inno Setup 取消按钮对齐

    我在设置与顶部尺寸相同的按钮时遇到问题Cancel我使用时按钮WizardSizePercent 150 in the Setup部分 这是我的代码 AboutButton TNewButton Create WizardForm Abou
  • 在不同情况下与其他单位相比,百分比的真正作用如何

    所以基本上我最近一直在尝试 CSS 并且发现了一些对我来说似乎很新的东西 在设置元素的填充时 我通常使用 em 或 px 等单位 但这次我尝试使用百分比 令我惊讶的是它的工作方式与其他单位非常不同 所以我设置了三种不同的情况 body ma
  • 如何在 Python 中声明数组并将其添加到数组中

    我正在尝试将项目添加到Python 中的数组中 I run array 然后 我尝试通过执行以下操作向该数组添加一些内容 array append valueToBeInserted 似乎没有一个 append方法用于此 如何将项目添加到数
  • 如何以编程方式确定“写入”系统调用对特定文件是否是原子的?

    在某些情况下 编码器不能依赖系统调用是原子的 例如如果文件位于 NFS 文件系统上 参见NFS 概述 常见问题解答和 HOWTO 文档 但大多数数据库工作最终都需要原子系统调用 参见数据库系统的原子性 是否有一种标准 且独立于操作系统 方法
  • 使用 Blob 在 SQLite 中存储字节数组

    对于我的应用程序 我尝试在 SQLite 应用程序中存储字节数组 我以这种方式填充 SQLite 数据库 public bool InsertMessage create string SQl and fill it with the SQ
  • c# foreach(对象中的属性)...有没有一种简单的方法可以做到这一点?

    我有一个包含多个属性的类 如果有任何区别 所有属性都是字符串 我还有一个列表 其中包含该类的许多不同实例 在为我的类创建一些单元测试时 我决定要循环遍历列表中的每个对象 然后循环遍历该对象的每个属性 我以为这样做会很简单 foreach O
  • 如果使用 jquery 选择下拉项,则显示表单字段

    我正在尝试创建一个下拉字段 如果选择 其他 项目 则会出现 请指定 文本框 下面的代码仅适用于一个下拉选择字段 但是一旦我添加第二个选择字段 它就不再起作用 这是我所拥有的似乎不起作用的内容 CSS techother display no
  • 将多行合并为一个 MySQL Join

    我想不出更好的方法来问这个问题 但这里是 我有 2 张桌子 第一个是标签打印作业的项目表 我们将称之为pj items这些列很简单 job id part num and qty 第二个表是名为的饰面列表PartFinishes在只有 2