PRODUIT(codeprod, nom, quantite, #codetype)
TYPE(codetype, libelle)
RESERVATION(numero(auto increment), datedépart, dateretour, quantitereserve, #codetype, #codesal)
SALARIE(codesal, nom, prenom)
Ce que je voudrais réaliser avec ma requête, c'est récupérer la "quantitereserve" de la table Réservation et l'ajouter à la "quantite" de la table Produit lorsque la "dateretour" de Réservation n'est pas nulle...
$requete = "SELECT PRODUIT.quantite AS qteProd, ";
$requete .= "(SELECT SUM(quantitereserve) FROM RESERVATION WHERE dateretour != '' GROUP BY dateretour) as qteReserv, ";
$requete .= "SUM(qteProd, qteReserv) ";
$requete .= "FROM PRODUIT as PRODUIT";
J'espère que les experts MySQL mettrons leur grain de sel et corrigerons.Code : Tout sélectionner
SELECT PRODUIT.quantite AS qteProd,
SUM(PRODUIT.quantite + (SELECT SUM(quantitereserve) FROM nikko_reservation WHERE dateretour != '' GROUP BY dateretour) )
FROM nikko_produit as PRODUIT GROUP BY PRODUIT.codeprodCode : Tout sélectionner
SELECT PRODUIT.quantite AS qteProd,
SUM(PRODUIT.quantite + (SELECT SUM(quantitereserve) FROM reservation WHERE dateretour != '' GROUP BY dateretour) )
FROM produit as PRODUIT GROUP BY PRODUIT.codeprodTABLE RESERVATION :
create table reservation(numero int auto_increment, datedepart date, dateretour date, quantiteres int, codesal varchar(10),
codetype varchar(10), codeprod varchar(10), primary key(numero), foreign key(codesal) references salarie(codesal), foreign key(codetype)
references type(codetype), foreign key(codeprod) references produit(codeprod));
insert into reservation(datedepart, dateretour, quantiteres, codesal, codetype, codeprod) values ('2008/02/14', null, 2, 's001', 'pcp', 'pcp1');
TABLE PRODUIT :
create table produit(codeprod varchar(10), modele varchar(10), marque varchar(30), quantite int, codetype varchar(10), primary key(codeprod), foreign key(codetype) references type(codetype));
insert into produit(codeprod, modele, marque, quantite, codetype) values ('pcp1', 'Inspiron 9400', 'Dell', 12, 'pcp');
TABLE SALARIE :
create table salarie(codesal varchar(10), nom varchar(50), prenom varchar(50), primary key(codesal));
insert into salarie(codesal, nom, prenom) values('s001', 'Dupont', 'Claude');
TABLE TYPE :
create table type(codetype varchar(10), libelle varchar(50), primary key(codetype));
insert into type(codetype, libelle) values('pcp', 'Ordinateur portable');
Je vous remercie encore du temps que vous m'accordez.$requete_RESERV = "SELECT SUM(quantitereserve) FROM reservation WHERE dateretour != '' GROUP BY dateretour";
$resultats_RESERV = mysql_query($requete1, $db);
WHILE ($Quel_RESERV = mysql_fetch_object($resultats_RESERV) {
$requete_PROD = "SELECT PRODUIT.quantite AS qteProd, ";
$requete_PROD .= "SUM(PRODUIT.quantite + ".$Quel_RESERV." ) as somme ";
$requete_PROD .= "FROM produit as PRODUIT ";
$requete_PROD .= "GROUP BY PRODUIT.codeprod ";
$resultats_RESERV = mysql_query($requete_PROD, $db);
$Valeur_utilisable[] = mysql_fetch_object($resultats_RESERV);
}
Code : Tout sélectionner
mysql> SELECT * FROM reservation;
+--------+------------+------------+-------------+---------+----------+----------+
| numero | datedepart | dateretour | quantiteres | codesal | codetype | codeprod |
+--------+------------+------------+-------------+---------+----------+----------+
| 1 | 2008-02-14 | NULL | 2 | s001 | pcp | pcp1 |
| 2 | 2008-02-15 | NULL | 2 | s001 | pcp | pcp1 |
| 3 | 2008-02-15 | 2008-02-28 | 5 | s001 | pcp | pcp1 |
| 4 | 2008-02-16 | 2008-02-29 | 3 | s001 | pcp | pcp1 |
+--------+------------+------------+-------------+---------+----------+----------+
4 rows in set (0.00 sec)Code : Tout sélectionner
mysql> SELECT
-> PRODUIT.quantite AS qteProd,
-> SUM(PRODUIT.quantite + (
-> SELECT SUM(quantiteres)
-> FROM reservation
-> WHERE dateretour IS NOT NULL
-> )
-> ) as total
-> FROM produit as PRODUIT
-> GROUP BY PRODUIT.codeprod;
+---------+-------+
| qteProd | total |
+---------+-------+
| 12 | 20 |
+---------+-------+
1 row in set (0.00 sec)