Il y a actuellement 390 visiteurs
Jeudi 26 Décembre 2024
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?
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 ?
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
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 ...) ?
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...
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
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.
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
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 Besoin d'avis pour changement GPU
Bonjour. Voilà, j'ai changé ma CM, Proc et Ram il y a pas longtemps.Voici ma config actuelle:Ryzen 7 770032Go ram DDR5 5200MHzCm Asus (je me rappelle plus la ref exacte)RTX 3070Ti 8Go Kfa2Clavier Ironclad v3 by GGSouris Logitech G502 sans filCasque Logitech Pro X sans filTapis de souris Logitech Pow ...
Réponses: 1

Message Besoin de conseils pour carte graphique adaptée à la 4K
BonjourJ'ai actuellement une carte graphique AMD Radeon RX 570 Series (4 Go) avec un écran Asus Pro Art 24 pouces (1924x1200), utilisé principalement pour du traitement photo - et un peu de vidéo, généralement en HD (mais ça peut changer car mon matériel permet de filmer en 4K, ce que je n'ai pas en ...
Réponses: 3

Message Plus besoin de TLD ou DriversCloud
Bonjour,Plutôt que de tout recopier , je vous laisse lire l'article de CCM concernant cet outil génial de Microsoft : wingethttps://www.commentcamarche.net/informa ... ec-winget/C'est très simple , il suffit de savoir ouvrir une invite de commande, donc taper cmd dans sa recherche.C'est issu de comm ...
Réponses: 11

Message Besoin d'aide PC parasité par des étoiles
Bonjour à tous. Nouveau membre. Je possède un PC portable IdeaPad S145 et depuis 2 jours je ne peux pas l'éteindre en passant par l'icône en bas à gauche pour faire arrêter. Car une fenêtre s'ouvre et plein d'étoiles s'écrivent toutes seules comme si quelqu'un pilotait mon ordi. Et lorsque j'ouvre m ...
Réponses: 5

Message PC parasité par des étoiles en continu. Besoin d'aide
Bonjour à tous. Nouveau membre. J'ai posté vers 9h20 le message ci-dessous avec 13 visites mais pas de réponse. Je suis vraiment embêter avec mon problème. J'ai des recherches de travail à faire mais je suis parasité par ces étoiles qui s'affichent constamment et m'empêche d'effectuer mes recherch ...
Réponses: 1

Message Recherche d'un bon PC (Besoin de conseil)
Bonjour j'ai casser mon PC portable il ya pas longtemp j'aimerais savoir quelle bon PC pour ce qui concerne le graphisme et les jeux ect... merci d'avance !
Réponses: 4

Message Aide suite à une analyse FRST contre un virus vbc.exe
Bonjour tout le monde, J'ai récemment constaté que j'étais infecté par un virus lié à vbc.exe, ce qui entraîne une utilisation du CPU allant jusqu'à 30% voire 40%. J'ai donc effectué mes analyses FRST et voici les rapports obtenus : - FRST.txt: https://pjjoint.malekal.com/files.php?id=FRST_20240315_ ...
Réponses: 3


Qui est en ligne

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


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