子查询返回的值超过1”,运行SQL查询时出错

我有这个SQL查询:

SELECT 
  a.projet_id, 
  a.projet_nom, 
  a.projet_date_ouverture,
  b.compagnie, 
  b.nom, 
  b.prenom,
  IF(ISNULL(d.user_id),d.nom,CONCAT(e.prenom,' ',e.nom)) as charge_nom,
  (
    SELECT 
      CONCAT((SUM(f.materiel_qte)),' de ',g.produitFini_nom,' ', h.type_nom,' ', i.couleur_nom,'<br>')
    FROM 
      Projet_materiel f
      LEFT JOIN ProduitFini_base g ON g.produitFini_id = f.projet_produitFini_id
      LEFT JOIN Config_type h ON h.type_id = g.type_id
      LEFT JOIN Config_couleur i ON i.couleur_id = f.materiel_couleur
    WHERE 
      f.projet_id = a.projet_id 
      AND f.projet_produitFini_id IS NOT NULL 
      AND materiel_produitFini_materiel_id IS NULL
    GROUP BY g.produitFini_nom, i.couleur_nom 
    LIMIT 1
  ) as materiel
FROM 
  Projet_projet a
  LEFT JOIN User_informations b ON a.user_id = b.user_id
  LEFT JOIN Projet_contact_ici c ON a.projet_id = c.projet_id
  LEFT JOIN Contact_ici_charge d ON c.chargeprojet_id = d.chargeprojet_id
  LEFT JOIN User_informations e ON d.user_id = e.user_id
WHERE 
  projet_actif = 1
ORDER BY 
  a.projet_id DESC

之所以有效,是因为我限制为1,但是我需要所有行。

如果我在PHP中执行此操作,则将花费太多时间,但是当我在SQL中将其限制为1时,它会很快。

如何获取SQL中的所有行而不是PHP?

评论