Il y a actuellement 114 visiteurs
Mardi 18 Janvier 2022
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

Besoin d'aide en SQL

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

Besoin d'aide en SQL

Message le 12 Juil 2005 18:48

Salut à tous!

voici mon problème.

je fais une requete select sur une table. Elle me renvoie plusieurs lignes sur 3 colonnes comme suit : categorie, valeur min, valeur max.

Je veux faire une boucle qui vérifie pour chaque ligne, si une valeur entrée en paramètre de ma procédure stockée est comprise entre les deux valeurs min et max d'une ligne et qui me retourne la catégorie associé à ces valeurs min et max.

Une petite idée?
Intel Pentium 4 650 3664.10 MHz (original: 3400 MHz, overclock: 8%) // CM Gigabyte GA-8I945P Pro // ATI Radeon X800 XL 512Mo // Maxtor 6L250S0 (250 Go, 7200 RPM, SATA) // Ram : 2 x 512Mo DDR2 // Zalman 9500 AT
Avatar de l'utilisateur
KeD
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 110
Inscription: 02 Avr 2003 18:06
Localisation: Grenoble
 


Message le 12 Juil 2005 20:29

C'est pas que je ne veuille pas t'aider, mais tu ne dis pas en quel language tu veux faire tout ça ? :roll:

Php ? autre ?
I chose this life, This superficial lie, Constant compromise, Endless Sacrifice

Weiter, weiter ins Verderben, Wir müßen leben bis wir sterben
Avatar de l'utilisateur
Stormrider
Expert(e)
Expert(e)
 
Messages: 1637
Inscription: 08 Mai 2004 10:46
Localisation: /Fr/Idf/77/Le Mée
 

Message le 13 Juil 2005 09:13

En php tu fais juste une fonction qui test si le valeur est comprise entre min et max et si c'est le cas ca retourne la categorie...
if($x<$table['max']&&$x>$table['min'])
return true;
esle false;

et si true $y=$table['categorie'];

et en mettant ca dans la boucle du mysql_fetch_array ca te le fais pour chaque entree dans la table, ca devrait marcher je pense...
Bl4deM4st3R
Sous Expert(e)
Sous Expert(e)
 
Messages: 45
Inscription: 13 Juil 2005 08:44
 

Message le 13 Juil 2005 17:10

non, pas en php, mais bien en sql brut.

on m'a parlé de fetch et de curseur, si ça vous dit quelque chose
Intel Pentium 4 650 3664.10 MHz (original: 3400 MHz, overclock: 8%) // CM Gigabyte GA-8I945P Pro // ATI Radeon X800 XL 512Mo // Maxtor 6L250S0 (250 Go, 7200 RPM, SATA) // Ram : 2 x 512Mo DDR2 // Zalman 9500 AT
Avatar de l'utilisateur
KeD
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 110
Inscription: 02 Avr 2003 18:06
Localisation: Grenoble
 

Message le 13 Juil 2005 19:23

KeD a écrit:non, pas en php, mais bien en sql brut.

on m'a parlé de fetch et de curseur, si ça vous dit quelque chose


Oui oui ça me dit quelque chose ... Ca remonte à far far away, a long long time ago, mais bon :D

Euh quelle version de SQL ? Quel type de base de données (MySQL, PostgreSQL, Oracle ...) ?
I chose this life, This superficial lie, Constant compromise, Endless Sacrifice

Weiter, weiter ins Verderben, Wir müßen leben bis wir sterben
Avatar de l'utilisateur
Stormrider
Expert(e)
Expert(e)
 
Messages: 1637
Inscription: 08 Mai 2004 10:46
Localisation: /Fr/Idf/77/Le Mée
 

Message le 13 Juil 2005 21:17

sur une base en SQL Server 2000 (ben vi, c'est du windows :-? )

et bien sur en sql92

en gros, je suppose qu'il s'agit d'une boucle qui parcourt une à une les lignes renvoyées par la requete select. (ça doit être fait avec le fetch je pense)

par contre, le curseur, je vois pas du tout...
Intel Pentium 4 650 3664.10 MHz (original: 3400 MHz, overclock: 8%) // CM Gigabyte GA-8I945P Pro // ATI Radeon X800 XL 512Mo // Maxtor 6L250S0 (250 Go, 7200 RPM, SATA) // Ram : 2 x 512Mo DDR2 // Zalman 9500 AT
Avatar de l'utilisateur
KeD
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 110
Inscription: 02 Avr 2003 18:06
Localisation: Grenoble
 

Message le 14 Juil 2005 11:32

Bon alors en fouillant dans ma mémoire <pas sûr que ça fonctionne mais bon au pire google t'aidera :wink: >

Donc faut déclarer le curseur comme étant la requête SELECT ...

Code: Tout sélectionner
DECLARE
  ta_var [i]declaration de ta variable[/i]
  row_column tes_colonnes;
  CURSOR nom_curseur IS SELECT [i]ta_requête[/i];

BEGIN
  LOOP
    FETCH nom_curseur INTO row_column.categorie, row_column.val_min, row_column.val_max;
    IF row_column.val_min <= ta_var && row_column.val_max >= ta_var THEN
      [i]tu fais ce que tu veux (retourner la catégorie...[/i]
    ENDIF;
  END LOOP;
  CLOSE nom_curseur;
END;


Ceci est basé sur du SQL pour Oracle, mais bon avec un peu d'adaptation ça devrait passer. Et bon ça fait longtemps que je n'ai pas fait ça donc je garanti rien. Mais bon ça te donne déjà une idée comment le tout fonctionne, et donc si tu veux plus d'infos n'hésites pas :wink:
Il faudra que je me replonge plus amplement dans la doc c'est tout :D
I chose this life, This superficial lie, Constant compromise, Endless Sacrifice

Weiter, weiter ins Verderben, Wir müßen leben bis wir sterben
Avatar de l'utilisateur
Stormrider
Expert(e)
Expert(e)
 
Messages: 1637
Inscription: 08 Mai 2004 10:46
Localisation: /Fr/Idf/77/Le Mée
 

Message le 15 Juil 2005 22:32

merci beaucoup, avec un peu d'adaptation, j'y suis arrivé.

la syntaxe est quasiment la même (mis à part de LOOP et END LOOP qui ne m'a pas été utilie vu que FETCH est une boucle.)

HS : il faudra que je me plonge un peu dans la doc de oracle, apparement, y'a pas mal de petites différences par rapport à sql server.
Intel Pentium 4 650 3664.10 MHz (original: 3400 MHz, overclock: 8%) // CM Gigabyte GA-8I945P Pro // ATI Radeon X800 XL 512Mo // Maxtor 6L250S0 (250 Go, 7200 RPM, SATA) // Ram : 2 x 512Mo DDR2 // Zalman 9500 AT
Avatar de l'utilisateur
KeD
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 110
Inscription: 02 Avr 2003 18:06
Localisation: Grenoble
 

Message le 16 Juil 2005 10:04

Cool :wink:

Faudrait que je révise aussi :oops: :D
I chose this life, This superficial lie, Constant compromise, Endless Sacrifice

Weiter, weiter ins Verderben, Wir müßen leben bis wir sterben
Avatar de l'utilisateur
Stormrider
Expert(e)
Expert(e)
 
Messages: 1637
Inscription: 08 Mai 2004 10:46
Localisation: /Fr/Idf/77/Le Mée
 



Sujets similaires

Message Aide achat pc portable gamer pour étudiant
Bonjour à tous,Je suis à la recherche d'un Pc portable gamer.J'en ai acheté un il y a quelques mois à l'aide de ce forum (Lenovo), et j''en étais très satisfait, mais j'ai dû le donner à une personne de la famille qui en avait besoin, et qui avait à peu près les mêmes attentes.Je voudrais donc achet ...
Réponses: 18

Message Besoin d'aide pour choisir un nouveau pc
Bonjour à toutes et à tous,J'ai besoin d'acheter rapidement un PC portable mais j'avoue être quelque peu perdue face aux possibilités. Je n'y connais pas grand chose mais je souhaiterais acquérir du bon matériel tant qu'à faire : un bon processeur, bel écran, qui dure dans le temps... Bon rapport qu ...
Réponses: 9

Message Besoin conseil script bots
Bonjour, je souhaite créer un bots pour un jeux , mais je ne m y connais pas trop et aurai besoin de conseil, à savoir quel programme utiliser , comment créer le bots, bref si quelqu un en as déjà créé je veux bien un coup de main
Réponses: 6

Message Connection aide auditive par Bluetooth
Bonjour,Compte tenu de mon jeune âge, je suis maintenant équipé d'aide auditive (Oreillette Phonac).J'ai une connection Bluetooth 5.0 par un djungle .Le couplage est réalisé (l'aide auditive apparait dans la liste des péripériques "autres appareils" comme couplé.Mais le périphérique n'est ...
Réponses: 5

Message aide svp installation windows 11 merci
bonjourj ai un pc qui n est pas compatible window 11 a cause du processeur le reste est bonbref j ai un mini pc akasa monté avec deux disque durs RAID les données je crois sont automatiquement copier de C vers Dj ai un disque dur C avec window 10 installé reste libre 30 pour centun autre disque dur ...
Réponses: 3

Message demande aide rapport FRST
Bonsoir,Où et comment puis-je poster mes fichiers .txt rapport FRST car mon pc (Vaio Tap 20 sous Win 8.1) estsouvent très très lent...Merci becoup
Réponses: 1

Message Aide Achat Pour Etudiant en Informatique
Hey!J'aurai besoin de conseils pour un ordinateur portable que je pourrai acheter pour mes études en informatique. Un ordinateur ou je pourrai coder du CPP et Java (application Android aussi). Je vise un ordinateur léger (facile à transporter). J'ai trouvé cet ordinateur : https://www.coolblue.be/fr ...
Réponses: 6


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.