Sql rquete selection qui ne fonctionne pas
G4uthier
Messages postés
131
Statut
Membre
-
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 ..
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 ..
A voir également:
- Sql rquete selection qui ne fonctionne pas
- Logiciel sql - Télécharger - Bases de données
- L'indice n'appartient pas à la sélection vba ✓ - Forum Programmation
- Requête sql pix - Forum Python
- L'indice n'appartient pas à la sélection ✓ - Forum VB / VBA
- Blob sql ✓ - Forum Webmastering
3 réponses
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';
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';
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 ;)
$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 ;)
J'espere que tu m'as compris .