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

时间:2019-01-17 11:38:57

标签: php pdo group-by left-join distinct

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

我尝试了“ GROUP BY”子句,但是针对cat只得到一个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_cats,但是要让多个cat对多个sub_cat

  

已编辑

如图所示,我希望所有的猫在用户单击其中的任何一个时都可以得到所有相关的sub_cats Expected Output

1 个答案:

答案 0 :(得分:0)

以下查询将为您提供帮助。

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