Bonjour,
Je me trouve devant une situation que je n'arrive pas à résoudre et qui pourtant me semble réalisable.
Je viens donc vous demander un peu d'aide pour m'aiguiller !
Tables :
++++ vehicule ++++
id_vehicule | marque | modele
++++ offre ++++
id_offre | id_vehicule | finition | prix
Exemples :
++++ vehicule ++++
1 | Fiat | Panda
2 | Peugeot | 308
++++ offre ++++
1 | 1 | 1.3 MultiJet | 12300
2 | 1 | 1.1 MultiJet | 10200
3 | 1 | 1.3 MultiJet | 12400
4 | 2 | 1.6 Hdi 90 Premium | 17300
5 | 2 | 1.6 Hdi 110 Premium | 19300
6 | 2 | 2.0 Hdi 136 Premium | 20300
Requête classique :
Retourne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select v.marque, v.modele, o.finition, o.prix from vehicule as v, offre as o where v.id_vehicule = o.id_vehicule
Fiat | Panda | 1.3 MultiJet | 12300
Fiat | Panda | 1.1 MultiJet | 10200
Fiat | Panda | 1.3 MultiJet | 12400
Peugeot | 308 | 1.6 Hdi 90 Premium | 17300
Peugeot | 308 | 1.6 Hdi 110 Premium | 19300
Peugeot | 308 | 2.0 Hdi 136 Premium | 20300
Je voudrais faire une sous requête pour n'afficher que les 2 premières lignes de chaque véhicule.
Résultat souhaité :
Fiat | Panda | 1.3 MultiJet | 12300
Fiat | Panda | 1.1 MultiJet | 10200
Peugeot | 308 | 1.6 Hdi 90 Premium | 17300
Peugeot | 308 | 1.6 Hdi 110 Premium | 19300
Je pense que c'est possible avec une sous requête mais je n'arrive pas à la finaliser !
mais pas de limit possible dans une sous requête apperemment.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 select v.marque, v.modele, o.finition, o.prix from vehicule as v, offre as o where v.id_vehicule = o.id_vehicule and id_offre in ( select id_offre from offre as o2 where o2.id_vehicule = v.id_vehicule limit 0,2 )
Merci d'avance pour le coup de pouce
A bientôt
Sébastien
Partager