Mysql, sous-requête
Résolu
cinderela
Messages postés
52
Date d'inscription
Statut
Membre
Dernière intervention
-
cinderela Messages postés 52 Date d'inscription Statut Membre Dernière intervention -
cinderela Messages postés 52 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je voulais faire une sous-requête qui affiche une table dont la quantité de produit sont bas. J'ai fait
$query = "SELECT produit_ID, stock_ID, quantite, remarque FROM tblproduit_stock
WHERE quantite <
(SELECT niveau_réapprov FROM tblproduit where produit_ID.tblproduit_stock == produit_ID.tblproduit) ORDER BY produit_ID";
et puis le système dit qu'il y a un ligne de plus.
Quelqu'un a une idée?
Merci d'avance,
Cinderela
Je voulais faire une sous-requête qui affiche une table dont la quantité de produit sont bas. J'ai fait
$query = "SELECT produit_ID, stock_ID, quantite, remarque FROM tblproduit_stock
WHERE quantite <
(SELECT niveau_réapprov FROM tblproduit where produit_ID.tblproduit_stock == produit_ID.tblproduit) ORDER BY produit_ID";
et puis le système dit qu'il y a un ligne de plus.
Quelqu'un a une idée?
Merci d'avance,
Cinderela
A voir également:
- Mysql, sous-requête
- Mysql community server - Télécharger - Bases de données
- Mysql error 2002 ✓ - Forum Linux / Unix
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Erreur de requete facebook - Forum Facebook
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
3 réponses
En passant, j'aurais préféré une jointure à une sous-requête. Surtout que dans la sous requête, tu inverses l'ordre table.champ, en mettant champ.table.
Voilà ce que je mettrais à ta place :
Xavier
Voilà ce que je mettrais à ta place :
SELECT s.produit_ID, s.stock_ID, s.quantite, s.remarque FROM tblproduit_stock s JOIN tbl_produit p ON p.produit_ID = s.produit_ID WHERE s.quantite < p.niveau_réapprovEt je rejoins Dalida pour dire que les accents dans les noms de champs peuvent apporter quelques soucis...
Xavier
salut,
"le système dit qu'il y a un ligne de plus"
que veux-tu dire ?
il faut peut-être limiter le nombre de lignes retournées par la deuxième requête avec un 'LIMIT'.
et les accents dans les noms de champs c'est pas terrible…
"le système dit qu'il y a un ligne de plus"
que veux-tu dire ?
il faut peut-être limiter le nombre de lignes retournées par la deuxième requête avec un 'LIMIT'.
"SELECT produit_ID, stock_ID, quantite, remarque FROM tblproduit_stock WHERE quantite < (SELECT niveau_réapprov FROM tblproduit WHERE produit_ID.tblproduit_stock == produit_ID.tblproduit LIMIT 1) ORDER BY produit_ID"
et les accents dans les noms de champs c'est pas terrible…
Salut,
Merci beaucoup à Dalida et Xavier. ça marche avec
SELECT s.produit_ID, s.stock_ID, s.quantite, s.remarque
FROM tblproduit_stock s
JOIN tblproduit p ON p.produit_ID = s.produit_ID
WHERE s.quantite < p.niveau_réapprov
puis celle de Dalida, je change just le produit_ID.tblproduit == produit_ID.tblproduit_stock
à tblproduit.produit_ID = tblproduit_stock.produit_ID
et voilà, maintenant ça marche avec tous les deux requêtes :-)
Bonne journée,
Cinderela
Merci beaucoup à Dalida et Xavier. ça marche avec
SELECT s.produit_ID, s.stock_ID, s.quantite, s.remarque
FROM tblproduit_stock s
JOIN tblproduit p ON p.produit_ID = s.produit_ID
WHERE s.quantite < p.niveau_réapprov
puis celle de Dalida, je change just le produit_ID.tblproduit == produit_ID.tblproduit_stock
à tblproduit.produit_ID = tblproduit_stock.produit_ID
et voilà, maintenant ça marche avec tous les deux requêtes :-)
Bonne journée,
Cinderela