我有这个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?