Sql rquete selection qui ne fonctionne pas

G4uthier Messages postés 131 Statut Membre -  
G4uthier Messages postés 131 Statut Membre -
Bonjour,

Voila j'ai cette requette :

SELECT SM_image.img, MIN( SM_image.id )
FROM SM_properties, SM_image
WHERE SM_image.id_properties = SM_properties.id
AND SM_properties.propWeek = 'Yes'
GROUP BY SM_image.id_properties
LIMIT 0 , 30

je veux selectionner le champs dont l id de la propriete est le plus petit et en ressortir le nom de l'image mais ca ne fonctionne pas..

mes tables:

celle qui contient les images de mes proprietes :

CREATE TABLE IF NOT EXISTS `SM_image` (
`id` int(4) NOT NULL auto_increment,
`id_properties` int(4) NOT NULL default '0',
`img` varchar(255) default NULL,
`img2` varchar(255) default NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=389 ;

ma table aui contient les infos de ma proprietes

CREATE TABLE IF NOT EXISTS `SM_properties` (
`id` int(4) NOT NULL auto_increment,
`postcode` varchar(9) default NULL,
`price` int(6) default NULL,
`branch` varchar(150) default NULL,
`bedrooms` int(2) default NULL,
`address1` varchar(150) default NULL,
`address2` varchar(150) default NULL,
`address3` varchar(150) default NULL,
`agentDescription` text,
`propWeek` varchar(10) default NULL,
`agentID` int(4) default NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=234 ;

voila ..
Configuration: Windows XP
Firefox 2.0.0.1

3 réponses

  1. rym-rym Messages postés 17 Statut Membre 9
     
    mais je voi pa pr tu cherches min de id "MIN( SM_image.id ) " alors q tu cherche le min de id_properties
    le group by c qd on veu récuperer une liste ou effectuer des calcul pr chaq champs de la liste alors q toi tu veu récuperer unn seul nom d'image dont l' id_properties est le min

    d'aprés ce q j'ai compris voila l'instruction sinon donnes plus d'explication et je saurai t'aider

    select SM_image.img,SM_image.id_properties
    from SM_properties, SM_image
    where SM_image.id_properties = SM_properties.id
    and SM_image.id=(select MIN( SM_image.id_properties ) from SM_image)
    and SM_properties.propWeek = 'Yes';
    0
    1. G4uthier Messages postés 131 Statut Membre 7
       
      non en realite je recherche le premier enregistrement dans la table image . L'id dans la table propriete correspond a l 'id_properties dans la table image. Donc je cherche le premier enregistrement avec min de l id de la photo correspondant a la photo inserer en premier.
      J'espere que tu m'as compris .
      0
  2. G4uthier Messages postés 131 Statut Membre 7
     
    resolut en decomposant ma requete
    $table1=SM_properties et $table3=SM_image

    $QueryImgNum_= " SELECT min( $table3.id )
    FROM $table3, $table1
    WHERE $table1.propWeek = 'Yes' and $table1.id= $table3.id_properties";

    $resultImgNum_ = mysql_db_query ($DBName,$QueryImgNum_, $Link);
    $rowImgNum_ = mysql_fetch_array($resultImgNum_);
    // keep the id
    $imgNum= $rowImgNum_[0];

    //select the path thanks to the id found
    $QueryImg_= " SELECT $table3.img
    FROM $table3
    WHERE $table3.id =$imgNum ";
    $resultImg_ = mysql_db_query ($DBName,$QueryImg_, $Link);
    $rowImg_= mysql_fetch_array($resultImg_);

    //print IMG
    $img_=$rowImg_[0];

    si vous avez une meilleur solution faites le moi savoir ;)
    0
  3. rym-rym Messages postés 17 Statut Membre 9
     
    si c comme ça l'instruction est la suivante

    select SM_image.img,SM_image.id
    from SM_properties, SM_image
    where SM_image.id_properties = SM_properties.id
    and SM_image.id=(select MIN( SM_image.id) from SM_image)
    and SM_properties.propWeek = 'Yes';

    j'espere q c ça ce q vous voulez
    0
    1. G4uthier Messages postés 131 Statut Membre 7
       
      non ca ne fonctionne pas il aime pas les requetes imbriques phpmy admin
      0