Help select mysql
cyril92
-
Melooo Messages postés 1405 Date d'inscription Statut Membre Dernière intervention -
Melooo Messages postés 1405 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai quelques soucis pour arriver à faire un select correct
j'ai deux tables : une table boutique et une table offre
offre:
id_btik | id_offre | libelle | date_ajout | heure_ajout
1 | 1 |monoffre1 | 21012-10-01 | 16:00:00
2 | 2 |monoffre2 | 21012-10-02 | 16:30:00
2 | 3 |monoffre3 | 21012-10-05 | 17:00:00
3 | 4 |monoffre4 | 21012-10-06 | 18:00:00
btik
id_btik | nom
1 | btik1
2 | btik2
3 | btik3
je voudrais obtenir la liste des toutes les offres triées par date,heure desc et dans le cas ou une boutique aurait plus d'une offre je ne voudrais avoir que la dernière offre de cette boutique soit ici :
id_btik | id_offre | libelle | date_ajout | heure_ajout | nom
3 | 4 |monoffre4 | 21012-10-06 | 18:00:00|btik3
2 | 3 |monoffre3 | 21012-10-05 | 17:00:00|btik2
1 | 1 |monoffre1 | 21012-10-01 | 16:00:00|btik1
Je seche.... quelqu'un pour m'aider ?
Meri par avance
J'ai quelques soucis pour arriver à faire un select correct
j'ai deux tables : une table boutique et une table offre
offre:
id_btik | id_offre | libelle | date_ajout | heure_ajout
1 | 1 |monoffre1 | 21012-10-01 | 16:00:00
2 | 2 |monoffre2 | 21012-10-02 | 16:30:00
2 | 3 |monoffre3 | 21012-10-05 | 17:00:00
3 | 4 |monoffre4 | 21012-10-06 | 18:00:00
btik
id_btik | nom
1 | btik1
2 | btik2
3 | btik3
je voudrais obtenir la liste des toutes les offres triées par date,heure desc et dans le cas ou une boutique aurait plus d'une offre je ne voudrais avoir que la dernière offre de cette boutique soit ici :
id_btik | id_offre | libelle | date_ajout | heure_ajout | nom
3 | 4 |monoffre4 | 21012-10-06 | 18:00:00|btik3
2 | 3 |monoffre3 | 21012-10-05 | 17:00:00|btik2
1 | 1 |monoffre1 | 21012-10-01 | 16:00:00|btik1
Je seche.... quelqu'un pour m'aider ?
Meri par avance
A voir également:
- Help select mysql
- Mysql community server - Télécharger - Bases de données
- Reboot and select proper boot device asus - Forum Matériel & Système
- Please select boot device - Forum Windows 7
- Reboot and select proper boot device - Forum Windows
- Select boot mode android - Guide
5 réponses
Bonjour, merci de ta réponse ;-)
Alors voici où j'en suis :
SELECT
btiks.id_btik,
offres.id_offre,
offres.libelle,
offres.date_ajout,
offres.heure_ajout,
btiks.nom
FROM offre offres,btik btiks
where offre.id_btik=btik.id_btik order by offre.date_ajout desc,
offre.heure_ajout desc
J'ai essayé d'ajouter un group by,plusieurs tentatives infructueuses..... pour ne ressortir que id_offre = 3 pour la boutik 2...mais je n'y arrive pas.
Merci
Alors voici où j'en suis :
SELECT
btiks.id_btik,
offres.id_offre,
offres.libelle,
offres.date_ajout,
offres.heure_ajout,
btiks.nom
FROM offre offres,btik btiks
where offre.id_btik=btik.id_btik order by offre.date_ajout desc,
offre.heure_ajout desc
J'ai essayé d'ajouter un group by,plusieurs tentatives infructueuses..... pour ne ressortir que id_offre = 3 pour la boutik 2...mais je n'y arrive pas.
Merci
Merci mais j'ai sans doute mal compris tes conseils...
SELECT
btiks.id_btik,
offres.id_offre,
offres.libelle,
MAX(offres.date_ajout),
offres.heure_ajout,
btiks.nom
FROM offre offres,btik btiks
where offres.id_btik=btiks.id_btik order by offres.date_ajout desc,
offres.heure_ajout desc
Il ne ne retourne qu'un seul enregistrement...
id_btik id_offre libelle MAX(offres.date_ajout) heure_ajout nom
1 1 monoffre1 2012-10-06 16:00:00 btik1
SELECT
btiks.id_btik,
offres.id_offre,
offres.libelle,
MAX(offres.date_ajout),
offres.heure_ajout,
btiks.nom
FROM offre offres,btik btiks
where offres.id_btik=btiks.id_btik order by offres.date_ajout desc,
offres.heure_ajout desc
Il ne ne retourne qu'un seul enregistrement...
id_btik id_offre libelle MAX(offres.date_ajout) heure_ajout nom
1 1 monoffre1 2012-10-06 16:00:00 btik1
Je pense que j'ai trouvé..
SELECT
btiks.id_btik,
offres.id_offre,
offres.libelle,
offres.date_ajout,
offres.heure_ajout,
btiks.nom
FROM offre offres,btik btiks
where offres.id_btik=btiks.id_btik
and concat(offres.date_ajout, offres.heure_ajout) in (select concat(max(date_ajout), max(heure_ajout)) from offre group by id_btik)
order by offres.date_ajout desc,
offres.heure_ajout desc
mais il y a surement bcp plus simple
SELECT
btiks.id_btik,
offres.id_offre,
offres.libelle,
offres.date_ajout,
offres.heure_ajout,
btiks.nom
FROM offre offres,btik btiks
where offres.id_btik=btiks.id_btik
and concat(offres.date_ajout, offres.heure_ajout) in (select concat(max(date_ajout), max(heure_ajout)) from offre group by id_btik)
order by offres.date_ajout desc,
offres.heure_ajout desc
mais il y a surement bcp plus simple
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
SELECT
btiks.id_btik,
offres.id_offre,
offres.libelle,
MAX(offres.date_ajout),
offres.heure_ajout,
btiks.nom
FROM offre offres,btik btiks
where offres.id_btik=btiks.id_btik order by offres.date_ajout desc,
offres.heure_ajout desc
Il ne ne retourne qu'un seul enregistrement...
id_btik id_offre libelle MAX(offres.date_ajout) heure_ajout nom
1 1 monoffre1 2012-10-06 16:00:00 btik1
btiks.id_btik,
offres.id_offre,
offres.libelle,
MAX(offres.date_ajout),
offres.heure_ajout,
btiks.nom
FROM offre offres,btik btiks
where offres.id_btik=btiks.id_btik order by offres.date_ajout desc,
offres.heure_ajout desc
Il ne ne retourne qu'un seul enregistrement...
id_btik id_offre libelle MAX(offres.date_ajout) heure_ajout nom
1 1 monoffre1 2012-10-06 16:00:00 btik1