bonjour,
j'exécute la requête suivante pour faire une recherche non pas à partir d'une table, mais des résultats d'une requête.
SELECT * FROM (SELECT désignation_article, sum( Stock_mag ) as quantité
FROM (
SELECT désignation_article, Stock_mag
FROM entré_gne
UNION ALL
SELECT `Désignation` , - quantité_retirée
FROM sorties_gne
)_
GROUP BY désignation_article ) WHERE désignation_article like '%$requete%'
le problème, c'est que cela me retourne l'erreur suivante que je n'arrive pas à corriger:
Petit up sur le sujet qui m'aide pas mal...
Est-ce que vous voyez où j'ai un soucis...?
(Info : je suis plutôt du genre Noob)
$requete2=$db->query('SELECT user AS nom
FROM (SELECT *
FROM ma_base
DISTINCT (ih_id)
ORDER BY date DESC)
WHERE proj = \'' . $_SESSION['proj'] . '\'
');
$requete2=$db->query('SELECT user AS nom
FROM (SELECT * (DISTINCT ih_id)
FROM ma_base
ORDER BY date DESC)
WHERE proj = \'' . $_SESSION['proj'] . '\'
');
Manque aussi un alias de table entre ) et where [ligne 4-5]
Sinon tu cherches à faire quoi en mélangeant * et distinct ih_id, et réfléchis avant de répondre ??
$requete2=$db->query('SELECT user AS nom
FROM (SELECT DISTINCT (ih_id), date, suppr
FROM ma_base
ORDER BY date DESC)
WHERE proj = \'' . $_SESSION['proj'] . '\'
');
j'ai cette erreur :
"Fatal error: Call to a member function CloseCursor() on a non-object in C:\wamp\www\..."
Et si j'enlève mon "$requete2->CloseCursor();" tout va bien...
J'ai une colonne A => contient des noms de Pays
J'ai une colonne B => contient le nom d'une ville
J'ai une colonne C => contient la population de la ville
Ensuite, chaque mise à jour de la population on crée une nouvelle ligne dans cette bdd (elle aura donc le même nom de pays, et le même nom de ville)
On a aussi une colonne date, et une "id" en auto-incrément.
Moi je souhaiterai afficher, par pays, l'id de la ville ayant la plus faible population, mais en tenant compte des mises à jours (et prendre la plus fraiche).
EDIT : Est-ce que c'est ca qu'il faut faire pour l'alias? (l3 et l5)
$requete2=$db->query('SELECT MIN population AS pop
FROM (SELECT DISTINCT (nom_ville), date, etc
FROM ma_base a
ORDER BY date DESC)
WHERE a.country = \'' . $_SESSION['pays'] . '\'
');
EDIT II :
bon, j'ai trouvé un peu d'infos sur le distinct et j'ai rectifié un truc sur min... le soucis c'est "juste" l'alias. mais comme j'y connais rien dessus, je rame et cherche des docs.
$requete2=$db->query('SELECT MIN(population) AS pop
FROM (SELECT DISTINCT nom_ville
FROM ma_base a
ORDER BY date DESC)
WHERE a.country = \'' . $_SESSION['pays'] . '\'
');
hum...
je te remercie. ca me semble un peu flou encore, mais j'ai saisi "l'esprit" d'un alias.
Et j'ai réussi à sortir la bonne requête, tout fonctionne.
@ bientôt
requêtes imbriquées
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !