|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : juillet 2004 Messages : 30 ![]() |
Bonjour, j'ai un peu de mal avec une requête imbriquée.
Exemple : Table_foo IDA IDB 3---a 2---b 4---a 3---c 1---d Table_bar IDA NAME 1---abc 2---def 3---ghi 4---klm Est-il possible en une seule requête de déterminer combien de fois chaque IDA de foo est utilisé, de limiter ces résultats (par exemple les deux plus gros) et de me servir de ces IDA dans la table bar afin de sélectionner les NAME correspondants tout en gardant l'info du combien de fois ? Obtenir quelque chose comme ça : IDA NAME n 3---ghi----2 (fois) 2---def----1 (fois) Code :
Donc est-ce que c'est possible ? Merci. |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 843 ![]() |
normal, le in ne ressort qu'une seule valeur de ta sous-requête, pour remplir IDA rien d'autre n'est exploité... ça te génère donc une erreur car tu renvoies 3 valeurs pour une seul à pourvoir...
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : juillet 2004 Messages : 30 ![]() |
J'ai besoin d'un second indice.
J'ai testé plusieurs façons et je n'y arrive pas du tout, les requêtes SQL c'est un peu comme les expressions régulières. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 843 ![]() |
la solution peut être d'essayer avec des jointures...
|
|
|
00
|
|
|
#5 | ||
|
Membre confirmé
![]() ![]() Inscription : novembre 2007 Messages : 134 ![]() |
Bonjour,
Essayez en faisant tout simplement une jointure entre vos deux requêtes, cela devrait ressembler à ça : Code :
|
||
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : juillet 2004 Messages : 30 ![]() |
J'étais arrivé à quelque chose du genre, sans le INNER JOIN et ON, mais ta version est au moins 20% plus rapide, et en mettant le vrai nom de la table au lieu de l'alias pour la première table de la requête on gagne encore 12%.
Merci.
|
|
|
00
|
|
|
#7 | ||
|
Membre confirmé
![]() ![]() Inscription : novembre 2007 Messages : 134 ![]() |
De rien, c'est bizarre pour l'alias mais en même temps j'avais mal écrit la requête en oubliant d'indiquer l'alias de "Table_bar", corrigé ça donne :
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com