requete SQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : requete SQL

par jojolapine » 06 nov. 2008, 15:22

ok, alors il doit falloir utiliser DISTINCT je pense, mais là, sans juex de tests, je peut pas trop te donner la requête...

par jajax » 06 nov. 2008, 15:06

Ceux que je veux faire c'est de retourné le dernier achat de tous les sociétés.

quelque chose comme ça :

Code : Tout sélectionner

id_entp nom valeur date 3 entp3 25 2008-11-01 1 entp1 25 2008-10-10 2 entp2 75 2007-03-15
votre requete me retourne tous les achats mais dans l'ordre spercifié DSC sur le requete

Code : Tout sélectionner

d_entp nom valeur date 3 entp3 25 2008-11-01 3 entp3 25 2008-08- 01 1 entp1 25 2008-10-10 1 entp1 55 2008-03-19 2 entp2 75 2007-03-15

Jai mis limit 0,1 mais ça me retourne un seul enregistrement

merçi

par jojolapine » 06 nov. 2008, 14:53

Je ne comprend pas trop ce que tu souhaites...?
Tu veux avoir le dernière achat effectué, alrs rajotue une LIMIT 0,1 à ma requête, et c'est bon le tour est joué...?
Explique un peu mieux ce que attends ;)

par jajax » 06 nov. 2008, 14:49

merçi pour le post.

mais en executant la requete que vous avez proposé

il retourne tous les enregistrements (des doublons) dans l'ordre specifié dans la requete alors que je veux retourné que celle avec la date la plus recente

jai mis distinctrow apres SELECT la requete mais çest la même.

En cherchant jai fait comme ça mais la valeur ne correspondpas à la date retournée

Code : Tout sélectionner

SELECT a.valeur AS val, MAX(a.date) AS dateachat, e.id AS idsoc, e.nom AS societe FROM entp e, achat a WHERE AND e.id = a.id_societe GROUP BY a.id_entp ORDER BY dateachat ASC
Içi il retourne bien des enregistrements sans doublons avec la date la plus recente mais c'est la valeur retournée dans les enregistrements ne correspond pas à cette date recente là
c'est vraiment bizarre .....

par jojolapine » 06 nov. 2008, 14:05

Quelque chose comme ça:

Code : Tout sélectionner

SELECT * FROM achat as a JOIN entp as e ON e.id=a.id_entp ORDER BY date DESC
?
note que nommer un champ "date", n'est pas du tout recommendé...

requete SQL

par jajax » 06 nov. 2008, 13:43

Code : Tout sélectionner

Create Table: CREATE TABLE entp ( id int(11) default NULL auto_increment, nom char(60) default NULL, PRIMARY KEY (id) ) TYPE=MyISAM Create Table: CREATE TABLE entp ( id int(11) default NULL auto_increment, valeur char(60) default NULL, id_entp int(11) default NULL, date date PRIMARY KEY (id) ) TYPE=MyISAM
Bonjour

voila j'ai 2 tables entp et achat

dans entp j'enregistre des trucs comme ça

Code : Tout sélectionner

id nom ---------- 1 entp1 2 entp2 3 entp3
dans achat

Code : Tout sélectionner

id valeur id_entp date ----------------------------------- 1 25 3 2008-11-01 2 10 1 2008-10-10 3 25 3 2008-08- 01 4 75 2 2007-03-15 5 55 1 2008-03-19
A partir de ces 2 tables je veux sortir la liste des entreprises qui on acheté le plus recemment
Je souhaite résupérer les listes les plus récentes par rapport à la date.

J'ai fait comme ça
mais ça ne me retounre pas la liste souhaitée:

Code : Tout sélectionner

SELECT a.valeur AS val, a.date AS dateachat, e.id AS idsoc, e.nom AS societe FROM entp e, achat a WHERE AND e.id = a.id_societe GROUP BY adm.id ORDER BY a.date ASC
je veux recupérer la date du dernière achat d'un société avec sa valeur , le nom de l'entp et la date du dernier achat

merci pour votre aide