MySQL查询,在多个表的一个字段中显示多个值

MySQL查询,在多个表的一个字段中显示多个值,mysql,Mysql,我有桌子: 卡车运输工作:卡车运输id,司机 机器:机器id、机器名称 卡车运输机器:卡车运输id,机器id 我的问题是,如何使用单个查询字符串获得此查询结果 卡车id、司机、机器名称 例如: 1, Jonah, (Machine1, Machine2, Machine3) 第三列合并所有机器 感谢您的帮助和建议。您正在寻找的是一个“GROUP BY”,它具有一些特殊功能,可以精确地完成您需要的任务,例如“GROUP_CONCAT” SELECT TRUCKING_JOB.truckin

我有桌子:

卡车运输工作:卡车运输id,司机

机器:机器id、机器名称

卡车运输机器:卡车运输id,机器id

我的问题是,如何使用单个查询字符串获得此查询结果

卡车id、司机、机器名称

例如:

1, Jonah, (Machine1, Machine2, Machine3)
第三列合并所有机器


感谢您的帮助和建议。

您正在寻找的是一个“GROUP BY”,它具有一些特殊功能,可以精确地完成您需要的任务,例如“GROUP_CONCAT”

SELECT 
  TRUCKING_JOB.trucking_id, 
  TRUCKING_JOB.driver, 
  GROUP_CONCAT(MACHINES.machine_name SEPARATOR ','
FROM TRUCKING_MACHINE
JOIN TRUCKING_JOB ON TRUCKING_MACHINE.trucking_id = TRUCKING_JOB.trucking_id
JOIN MACHINES ON TRUCKING_MACHINE.machine_id = MACHINES.machine_id
GROUP BY TRUCKING_JOB.trucking_id

您可以在GROUP BY之前添加任何WHERE子句语句。

谢谢。。这是基于@Eugene推荐查询的最后一个查询字符串

SELECT 
  TRUCKING_JOB.trucking_id AS TRUCKING_ID, 
  TRUCKING_JOB.driver AS DRIVER, 
  GROUP_CONCAT(MACHINES.machine_name SEPARATOR ', ') AS MACHINES
FROM TRUCKING_MACHINE
JOIN TRUCKING_JOB ON TRUCKING_MACHINE.trucking_id = TRUCKING_JOB.trucking_id
JOIN MACHINES ON TRUCKING_MACHINE.machine_id = MACHINES.machine_id
GROUP BY TRUCKING_JOB.trucking_id

加入表格并使用GROUP_CONCAT。这正是我想要的。非常感谢你!
1, Jonah, (Machine1, Machine2, Machine3)
SELECT 
  TRUCKING_JOB.trucking_id, 
  TRUCKING_JOB.driver, 
  GROUP_CONCAT(MACHINES.machine_name SEPARATOR ','
FROM TRUCKING_MACHINE
JOIN TRUCKING_JOB ON TRUCKING_MACHINE.trucking_id = TRUCKING_JOB.trucking_id
JOIN MACHINES ON TRUCKING_MACHINE.machine_id = MACHINES.machine_id
GROUP BY TRUCKING_JOB.trucking_id
SELECT 
  TRUCKING_JOB.trucking_id AS TRUCKING_ID, 
  TRUCKING_JOB.driver AS DRIVER, 
  GROUP_CONCAT(MACHINES.machine_name SEPARATOR ', ') AS MACHINES
FROM TRUCKING_MACHINE
JOIN TRUCKING_JOB ON TRUCKING_MACHINE.trucking_id = TRUCKING_JOB.trucking_id
JOIN MACHINES ON TRUCKING_MACHINE.machine_id = MACHINES.machine_id
GROUP BY TRUCKING_JOB.trucking_id