如何避免 JOIN 查询中的重复 PHP PDO?

How to avoid duplication in JOIN query PHP PDO?

我有 2 个表,分别命名为 cat 和 sub_cat。每个 sub_cat 至少有一只或多只猫。我尝试使用 LEFT Joins 获取两者,但得到了 cat 的副本。

我试过 "GROUP BY" 条款,但只得到一个 sub_cat 反对猫 我也试过 "DISTINCT" 但没有得到准确的结果

SELECT DISTINCT c.id AS cat_id, c.title AS cat_title, s.id, s.title,s.cat_name FROM cat c LEFT JOIN sub_cat s ON c.id = s.cat_name

使用分组依据

SELECT c.id AS cat_id, c.title AS cat_title, s.id, s.title,s.cat_name FROM cat c LEFT JOIN sub_cat s ON c.id = s.cat_name GROUP BY c.id

我希望只有一只猫和多只 sub_cat,但得到多只猫对抗多只 sub_cat

Edited

如图所示,我想要所有的猫,当用户点击它们时,我可以获得所有相关的 sub_cats Expected Output

下面的查询会对您有所帮助。

SELECT c.id AS cat_id, c.title AS cat_title, group_concat(s.cat_name)sub_cat_name 
FROM cat c INNER JOIN sub_cat s 
ON c.id = s.cat_name 
GROUP BY c.id