le 28/02/2005 à 15:37
keitarosan
le probleme vient très certainement de la jointure.
En general, quand il y a une jointure, avec dans un table un redondance de champs, tu les auras en plusieur fois.
je m'explique avec un exemple simple:
ta requete fait la jointure:
elle ressort un truc du genre:
si tu fais une jointure, tu te retrouve avec:
Le distinct, je pense pas que ca marcheras...
par contre, un GROUP BY devrait donner de meilleurs résultat.
Enfin je dis peut etre des betises...
Enfin essaye un truc comme ca:
Parcontre, il faut normalement mettre tous les champs du SELECT dans le GROUP BY, malgré que Mysql accepte si on n'en met qu'un seul.
Voila, je pense que c'est une piste a voir :)
En general, quand il y a une jointure, avec dans un table un redondance de champs, tu les auras en plusieur fois.
je m'explique avec un exemple simple:
Table partage_id:
Paris - 75000
Rouen - 76000
Table entreprise:
Toto - 75000
Titi - 75000
Tata - 76000
ta requete fait la jointure:
elle ressort un truc du genre:
si tu fais une jointure, tu te retrouve avec:
Titi - 75000 - Paris
Tata - 75000 - Paris
Tata - 76000 - Paris
Le distinct, je pense pas que ca marcheras...
par contre, un GROUP BY devrait donner de meilleurs résultat.
Enfin je dis peut etre des betises...
Enfin essaye un truc comme ca:
<?php
$requete = "
SELECT
entreprise.Nom,
entreprise.id,
entreprise.Adresse,
entreprise.Ville,
entreprise.CP,
entreprise.Admin
FROM
entreprise,
partage_id
WHERE
partage_id.id_code = entreprise.CP AND
partage_id.id_user = '$statut' AND
entreprise.Ville LIKE '$lettre%'
ORDER BY
`id` ASC
GROUP BY entreprise.Ville
";
?>
Parcontre, il faut normalement mettre tous les champs du SELECT dans le GROUP BY, malgré que Mysql accepte si on n'en met qu'un seul.
Voila, je pense que c'est une piste a voir :)