SELECT sur plusieurs tables [Résolu] [MySQL] - SQL/NoSQL - Programmation
Marsh Posté le 15-06-2006 à 21:37:59
est ce le navigateur qui plante ou est ce ton script qui se prend un timeout ?
Marsh Posté le 15-06-2006 à 21:45:21
tu as 4 tables, tu dois donc lier ces 4 tables dans le where,sinon, tu vas retourner leproduit cartésien des tables
Marsh Posté le 16-06-2006 à 10:32:36
Après recherches, je pense que c'est effectivement le produit cartésien qui est retourné, et comme j'ai plus de 3000 entrées, ceci est du coup très long.
Comment puis-je lier les tables dans le WHERE?
Marsh Posté le 16-06-2006 à 14:20:21
tu dois faire quelque chose du genre
SELECT truc1 , truc2 FROM table1,table2,table3
WHERE table1.cle = table2.cle2 AND table 1.cle3 = table3.cle4
je te laisse adapter ca a ta requete
Marsh Posté le 15-06-2006 à 18:39:13
Bonsoir, je possède une BDD avec 4 tables:
t_categorie (id_categorie, categorie)
t_type (id_type, type)
t_secteur (id_secteur, secteur)
t_maison (idx_categorie, idx_type, idx_secteur, prix, reference, ville, nb_chambre....)
C'est pour un site d'annonces immobilières, je cherche à récupérer par exemple toutes les affaires dont l'"idx_type" de la tables "t_maison" correspond à l'"id_type" de la table "t_type".
J'ai fait ceci:
$reponse = mysql_query("SELECT type, secteur, categorie, no_asp, prix, cp_internet, ville_internet, nb_chambres, surf_hab, surf_terrain FROM t_type, t_secteur, t_maison, t_categorie WHERE t_maison.idx_type_offre = t_type.id_type" );
ensuite j'affiche les données comme ça:
while ($donnees = mysql_fetch_array($reponse) )
echo $donnees['prix'];
echo $donnees['nb_chambres'];
Le probleme c'est que le navigateur plante au bout d'un moment (utilisation mémoire trop importante).
Pourriez-vous m'aider?
Merci par avance.
Message édité par Ben-o le 16-06-2006 à 16:20:49