MYSQL组\u CONCAT包含NULL
我使用此代码对设备进行分组,但当id_材质没有设备时,id_材质不会显示MYSQL组\u CONCAT包含NULL,mysql,database,group-concat,Mysql,Database,Group Concat,我使用此代码对设备进行分组,但当id_材质没有设备时,id_材质不会显示 select material.id_material, material.mat_part_number, group_concat(distinct equipment.equipment_name order by equipment.equipment_name separator ', ') as equipment FROM material INNER JOIN equipment_list
select
material.id_material,
material.mat_part_number,
group_concat(distinct equipment.equipment_name order by equipment.equipment_name separator ', ') as equipment
FROM material
INNER JOIN equipment_list ON material.id_material=equipment_list.PKid_material INNER JOIN equipment ON equipment_list.PKid_equipment=equipment.id_equipment group by id_material;
我希望它看起来像这样
+-------------+----------------+
| id_material | equipment |
+-------------+----------------+
| 1000001 | eq1 |
| 1000002 | eq1, eq2 |
| 1000003 | eq3 |
| 1000004 | |
+-------------+----------------+
但似乎只有这样
+-------------+----------------+
| id_material | equipment |
+-------------+----------------+
| 1000001 | eq1 |
| 1000002 | eq1, eq2 |
| 1000003 | eq3 |
+-------------+----------------+
我应该把空条件放在哪里 我刚刚修改了您的查询,这可能会对您有所帮助
SELECT
material.id_material,
material.mat_part_number,
GROUP_CONCAT(
DISTINCT equipment.equipment_name
ORDER BY
equipment.equipment_name SEPARATOR ', '
) AS equipment
FROM
material
LEFT JOIN equipment_list ON material.id_material = equipment_list.PKid_material
LEFT JOIN equipment ON equipment_list.PKid_equipment = equipment.id_equipment
GROUP BY
id_material;
花点时间阅读帮助中心中的。堆栈溢出上的格式设置与其他站点不同。您的帖子越好看,其他人就越容易阅读和理解。请在末尾添加
设备“”
。很抱歉,我是个新手,仍然对代码的格式感到困惑:(你能告诉我应该在哪里学习吗?如果我把拥有设备“”
放在末尾,没有设备名称的id\u材料不会显示。你需要将内部连接设备列表
更改为左连接设备列表