|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Sylvain Inscription : mars 2011 Messages : 7 ![]() |
Bonjour,
j'aurais aimé savoir si cette requête était possible : J'ai 2 tables : client et achat sachant que dans la table achat il y a une clé étrangère qui relie un achat à un client. Je voudrais sortir le 4ème achat pour tous mes clients cependant je ne pense pas que ce soit possible. Ai-je tord ou raison ? Merci d'avance ! |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
Bonjour,
Donnez plus d'info votre problème n'est pas comptréhensible présenté comme ceci. Entre autre : - requete actuel - jeux de donnée minimal pour comprendre ce que l'on a en entré et en sortie - structure des tables |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Sylvain Inscription : mars 2011 Messages : 7 ![]() |
Exemple table :
Table Client : id int(10) PRIMARY KEY nom varchar(25) prenom varchar(25) Table Achat : id int(10) PRIMARY KEY article varchar(25) quantite int(2) external_client_id int(10) FOREIGN KEY (vers id client) Exemples table client : 1 - Albert - Monaco 2 - Super - Milka 3 - Hyper - Marché Exemples table achat : 1 - Carotte - 2 - 1 2 - Poil - 1 - 1 3 - Super - 4 - 3 4 - Jambon - 1 - 2 5 - Jambe - 2 - 2 6 - DVD - 1 - 3 Je veux le deuxième achat de tous mes clients donc voilà le résultat : Albert - Monaco - Poil - 1 (pour Albert Monaco son deuxième achat c'est 1 poil) Super - Milka - Jambe - 2 (Pour Super Milko son deuxième achat c'est 2 jambes (vu qu'une c'est pas pratique)) Hyper - Marché - DVD - 1 (Pour Hyper Marché son deuxième achat c'est 1 DVD) Pour l'exemple de requête c'est difficile parce que je demande si cette requête est possible. |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
Comment reconnait-on le "4eme achat" ?
|
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Sylvain Inscription : mars 2011 Messages : 7 ![]() |
C'est le 4ème id achat pour son external_client_id ou alors si tu préféres on rajoute un champ date dans la table achat.
|
|
|
00
|
|
|
#6 | ||||
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
disons que sans fonction de fenêtrage c'est pas simple du tout.
Une solution, mais qui ne marchera pas si votre table est volumineuse (perf déplorable) : Code :
Ceci me semble mieux : Code :
|
||||
|
|
00
|
|
|
#7 | ||
|
Membre éclairé
![]() Développeur .NET Inscription : avril 2009 Messages : 264 ![]() |
Pourquoi pas simplement :
Code :
(syntaxe postgreSQL mais adaptable à d'autres) |
||
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
car il veut ce résultat pour chaque client
|
|
|
00
|
|
|
#9 | ||
|
Membre éclairé
![]() Développeur .NET Inscription : avril 2009 Messages : 264 ![]() |
Et un truc du genre :
Code :
|
||
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
Oui, effectivement une requête du genre fonctionenrai.
Par contre j'ai peur qu'elle soit aussi performante que la 1ere que j'ai posté. A tester par l'op |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com