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