Pb en SQL

Pb en SQL - Programmation

Marsh Posté le 13-08-2001 à 09:47:06    

Salut,
J'ai un problème sous access, étant pas très bon en SQL, j'aimerai un p'tit coup de pouce. Je souhaite trier des chiffres suivant des mots. J'ai 1 mot=une série de chiffres ; et j'aimerai obtenir 1 chiffre=une série de mots
 
Ex.
J'ai :
 
Num   Ch1    Ch2    Ch3   Ch4
1       toto   1-5    2-8   8-14
2       tata   5-12   9-4   2-8
 
Et j'aimerai obtenir en gros un tri du genre :
 
2-8   toto   tata
1-5   toto
8-14  toto
5-12  tata
9-14  tata
 
Merci d'avance pour l'aide.

 

[edtdd]--Message édité par manimal--[/edtdd]

Reply

Marsh Posté le 13-08-2001 à 09:47:06   

Reply

Marsh Posté le 13-08-2001 à 09:53:42    

pas très clair ton modèle de donnée
 
est-ce que le nombre de champs de type chiffres (ch2 à 4)
est fixe?
 
 
 
PS :vaut mieux bosser avec des matrices et faire des maths


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 13-08-2001 à 09:57:23    

Oui le champ est fixe.

 

[edtdd]--Message édité par manimal--[/edtdd]

Reply

Marsh Posté le 13-08-2001 à 10:16:06    

ça représente quoi la série de chiffre?
E nfait tu veux que pour chaque série, obtenir un tri sur le champ1. Par ex pour la série 2-8 tu as toto tata parce que 2-8 est dans le champ 2 pour toto et le champ 3 pour tata (2<3) c'est ça??
A mon avis c'est pas possible en une seule requête mais avec un script...

Reply

Marsh Posté le 13-08-2001 à 10:51:35    

Non en fait, je voudrai pouvoir rechercher dans ma table un nombre (ici 2-8 présent dans plusieurs champs), pour résumer comme la fonction "recherche".  
Quand il est présent (2-8) qu'il m'affiche le mot correspondant (toto et tata).  
Mais dans mon cas je n'ai pas un seul chiffre à rechercher (sinon je ferai directement "recherche" ), mais une centaine voilà pourquoi je voudrai automatiser la tache.
 
Je crois que, ce que j'ai marqué n'est pas très compréhensible donc je répéte autrement.
 
J'ai plusieurs lignes et une ligne se présente ainsi
_un numéro (ex.1, 2, 3...)
_un mot (ex.toto)
_puis une série de chiffre (ex.1-2, 5-12, 6-20...), et il y a un chiffre par colonne.
 
Comme il y a plusieurs colonnes (de 1 à 150), on retrouve parfois les mêmes chiffres.
 
Moi je voudrai rassembler ces chiffres et faire pour un chiffre, correspond une série de mots.
 
J'espère que c'est mieux.

 

[edtdd]--Message édité par manimal--[/edtdd]

Reply

Marsh Posté le 13-08-2001 à 11:13:54    

Voilà ce que j'ai compris:
 
Il y a un champ numéro, un champ mot et de 1 à 150 champ supplémentaires qui contiennent chacun un chiffre.
(2-8, j'ai déduit que c'était 2,8 (2 virgule 8?) )
 
Rassembler ces chiffres, c'est faire la requète pour chaque chiffre?? Est-ce que t'as un table avec les différentes valeurs de ces chiffres??

Reply

Marsh Posté le 13-08-2001 à 11:42:06    

Voici une partie de ma table
http://siteitex.free.fr/Table3.gif
 
et moi je voudrai :
 
2-14  - A
      - accessibilité
      - acte
 
4-10  - à la maison
       
Je voudrai appliquer ce système pour tous les chiffres (et ce sont des tirets pas des virgules).
 
Merci.

 

[edtdd]--Message édité par manimal--[/edtdd]

Reply

Marsh Posté le 13-08-2001 à 11:52:51    

C'est l'enfer cette requête! Le passage de la ligne à la colonne ne se fera pas par un petit coup de baguette magique.
 
Je sentirais plutôt une table temporaire construite à partir d'une procédure stockée où tu la remplirais avec une boucle...

Reply

Marsh Posté le 13-08-2001 à 12:06:45    

C'est clair! Tu vas pas y échapper! T'es obligé je pense de stocker tout d'abort les différentes valeurs des chiffres, tu parcours l'ensemble de ta table et tu ajoutes chaque chiffre nouveau dans un table intermédiaire.
Ensuite pour chaque valeur de ta table intermédiaire, tu recherches les noms qui l'ont dans un de leurs champs.

Reply

Marsh Posté le 13-08-2001 à 12:06:48    

Disons que la mise en forme m'importe peu.  
Que le résultat soit tout sur une ligne ou tout sur une colonne, c'est pas grave. Ce que j'aimerai surtout c'est le résultat.
 
J'arrive avec le peu que je connaisse à créer une requête qui me trouve "2-14" et m'affiche les mots correspondant, mais ce que j'aimerai c'est trouver un moyen pour qu'il m'affiche tous les chiffres avec à chaque fois les mots correspondant.

Reply

Marsh Posté le 13-08-2001 à 12:06:48   

Reply

Marsh Posté le 13-08-2001 à 15:15:38    

Ouais d'accord mais on te dit qu'en une requète, c'est pas possible (enfin je suis pas Dieu pour l'affirmer mais bon...). Il faut que tu fasse une macro sous Access. Cette macro récupère toutes les valeurs possible (que tu fous dans un tableau) et ensuite pour chaque valeur du tableau, tu fais la requète que t'as trouvé(une boucle sur les éléments du tableau) tu met la réponse dans un autre tableau éventuellement. T'obtiendra un tableau du style;
 
champ1       champ2
 2-14         toto
 2-14         tata
 ...          ...
 2-8          titi
 2-8          coucou
 ...          ...
 5-12         coucou
 9-14         tata
 9-14         coucou
 ...          ...
 
Capitcho??

Reply

Marsh Posté le 13-08-2001 à 15:32:35    

Ok, merci.

Reply

Marsh Posté le 14-08-2001 à 02:24:05    

hiho !!! :)
 
Ca faisait longtemps :D
 
Mais si c possible en UNE seule requete :D...
Mais c lourd a ecrire et a maintenir seulement :D:D

Reply

Marsh Posté le 14-08-2001 à 11:13:48    

wouatou, TU SORS :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed