|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : février 2011 Messages : 6 ![]() |
Bonjour,
J'ai un petit souci concernant une requete SQL sur une base de données un peu complexe. J'ai réalisé un extract de ma base avec la requete suivante : Code :
Citation:
Citation:
Merci de votre aide ! |
||||
|
|
00
|
|
|
#2 | ||||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Il te faudrait une table avec les, disons, catégories de sigle, càd sigleA, sigleB, etc. Par exemple :
Code :
Code :
|
||||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 6 ![]() |
Merci Antoun
Mais ce qui est compliqué c'est que je ne peux pas faire de table pour les sigles. Ils apparaissent en recupération de flux de liens d'où les numéros avant/apres les sigles. Jusqu'à présent je pouvais faire une extraction avec un select count, etc. Where signe_id LIKE '%sigleA%'. Les dollars me permettent de faire abstraction de ce qui se trouve avant et après le sigle commun. Mais cette extraction doit ensuite être faite pour chaque sigle. Et il y en a beaucoup. Je voudrais donc une même requete (idealement) qui me permet de regrouper les sigles par leur racine commune avec un LIKE '%sigleA%' et faire la somme des résultats comptés. |
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
OK :
Code :
|
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 6 ![]() |
J'ai plusieurs sigles. sigleA, sigle B, sigleC etc. Qui en réalité ne se ressemblent pas ni dans leur nom, ni dans leur longueur de caractères. Ensuite ces sigles se retrouvent dérivés dans des chaines du type : 0211sigleA4525 1234sigleA86456x897346 9347sigleB8345x86345_blabla 9347sigleB8345x86345_blabla La requête que tu me conseilles ne fonctionne donc pas si il s'agit de sigles qui ne s'appellent pas sigle et ont des longueurs de caractères différentes... si? |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Effectivement, je me repère à la présence du mot "sigle" et je suppose qu'il n'y a ensuite qu'un caractère à prendre en compte. Donc "sigleZ" sera reconnu, mais "sigleABCD" sera tronqué en "sigleA" et "acronymeK" ne sera pas reconnu du tout.
A toi de nous dire quels sont tes cas, et à quoi on peut reconnaître la catégorie. |
|
|
00
|
|
|
#7 | |||||
|
Invité de passage
![]() Inscription : février 2011 Messages : 6 ![]() |
Citation:
J'ai une table qui contient les éléments suivants : log_id (type int qui s'autoincremente) sigle_id (type varchar) log_date (type date) j'ai une quarantaine de sigles_id fixes différents du type sigleA blabla hpovu ... Sauf que ces sigles sont parfois dérivés en 0111sigleA_8634 239467blabla29364 0211hpovu_ttf_56 Les requetes que j'utilise pour le moment sont : Code :
Ou alors : Code :
Ce que je voudrais moi, c'est une requête qui me donnerait au final jour | nombre d'entrées totales | sigle_id (ex: blabla) |
|||||
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Si tu as une quarantaine de sigle_id fixes que tu connais à l'avance, il suffit que tu en fasses une table et on revient à ma première solution.
|
|
|
00
|
|
|
#9 | |
|
Invité de passage
![]() Inscription : février 2011 Messages : 6 ![]() |
Citation:
Je vais continuer à chercher, il doit bien y avoir une solution ! |
|
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Avec ma première solution, tu ne mets que les fixes, et la jointure LIKE reconnaîtra automatiquement les dérivées.
|
|
|
10
|
|
|
#11 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 6 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com